macOS提供了直观的用户界面、强大的功能和稳定性,成为广大用户首选的操作系统之一。PHP具有简单易学、灵活、强大和可扩展的特点,被广泛用于构建动态网页、Web应用程序和服务端API。macOS与PHP的结合刚好为开发者提供了一个强大的环境来构建和运行PHP应用程序。
一、使用软件包
macOS 下有几个预编译和打包的 PHP 版本。可以通过它使用标准的配置的 PHP,但是若需要不同的功能集(比如一个安全服务器,或者一个不同的数据库驱动程序),可能需要自己编译 PHP 和/或 web 服务器。如果不熟悉如何自己编译软件,可以试着找一下包含自己所需功能的 PHP 预编译版本。
在 macOS 上安装 PHP 最简便的方式是用 homebrew:
- 安装 homebrew:参考 brew.sh 上的说明
- brew install php
下面可选资源提供了在 macOS 上易于安装的软件包和预编译的二进制 PHP。
- MacPorts:http://www.macports.org/
- Liip: http://php-osx.liip.ch/ (PHP 5.3 – PHP 7.3; 已废弃)
- Fink: http://www.finkproject.org/
二、使用内置PHP
PHP 从 macOS X(10.0.0)开始,到 macOS Monterey(12.0.0)之前内置到系统中。在默认的 web 服务器中启用 PHP,只需将 Apache 配置文件 httpd.conf 中的几行配置指令最前面的注释符号去掉,而 CGI 或 CLI 默认都可使用(可以很容易的被终端程序使用)。建议将 PHP 升级到最新的版本,在大多数活跃的软件中, 新的版本会修复错误和添加新的功能,PHP 也是如此。按照以下的使用说明,可以快速的建立一个本地 PHP 开发环境。
标准的安装类型为 mod_php,在 macOS 的 Apache web 服务器(默认 web 服务器,可以从系统设置中访问)中启用 PHP 包含以下的步骤:
1、找到并打开Apache的配置文件;
默认情况下,这个配置文件的位置是:/private/etc/apache2/httpd.conf。 使用 Finder 或者 Spotlight 来找到这个文件可能不是很容易的事情,因为在默认情况下它一般是 root 用户拥有所有权的私有文件。
注意: 要打开这个文件,可以在命令行下面使用基于 Unix 的文本编辑器,例如 nano,因为他的属主是 root,所以我们需要使用 sudo 来打开(以 root 用户权限)。例如我们在 Terminal 程序中敲入下面的指令(操作后,会提示输入密码):sudo nano /private/etc/apache2/httpd.conf 注意 nano 中的命令:^w(搜索),^o(保存),以及 ^x(退出)。^ 表示 Ctrl 键。
在 Mac OS X 10.5之前的版本中捆绑的是旧版本的 PHP 和 Apache。因此在旧的计算机中 Apache 配置文件的位置可能是 /etc/httpd/httpd.conf。
2、使用文本的编辑器取消注释(删除前面的 #)看起来类似于下面的行(这两行常常不在一起,需要在文件中找到这两行):
# LoadModule php5_module libexec/httpd/libphp5.so # AddModule mod_php5.c
注意位置/路径。如果在以后重新编译了 PHP,以上文件应被更换或者注释掉。
3、确保将所需要的文件扩展名解析为 PHP(例如:.php .html 以及 .inc),否则不能正常运行;
由于以下的配置已经写入 httpd.conf(自 Mac Panther 版起),一旦 PHP 被启用则 .php 文件会被自动解析为 PHP 脚本。
<IfModule mod_php5.c> # If php is turned on, we respect .php and .phps files. AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # Since most users will want index.php to work we # also automatically enable index.php <IfModule mod_dir.c> DirectoryIndex index.html index.php </IfModule> </IfModule>
注意:在 Mac OS X 10.5(Leopard)以前版本中,捆绑的是 PHP 4 而不是 PHP 5,因此上面的配置指令稍有不同,需要将 5 更改为 4。
4、确保 DirectoryIndex 加载了所需的默认索引文件;
这个也是在 httpd.conf 中设置的。 通常情况下使用 index.php 和 index.html 。默认情况下 index.php 会被启用,因为在我们上面的配置指令中写明了。根据实际情况可以做相应的调整。
5、设置 php.ini 的位置或者使用默认的位置;
macOS 上通常默认的位置是 /usr/local/php/php.ini ,调用 phpinfo() 也可以得到此信息。如果没有使用 php.ini,PHP 将使用所有的默认值。参见常见问题中的寻找 php.ini。
6、定位或者设置 DocumentRoot;
这是网站所有文件的根目录。此目录中的文件由 web 服务器提供服务,从而使得 PHP 文件将在输出到浏览器之前解析为 PHP 脚本。通常情况下默认的路径是 /Library/WebServer/Documents,但是可以根据需要在 httpd.conf中设置为任何其他目录。另外,用户自己的缺省 DocumentRoot 是 /Users/yourusername/Sites。
7、创建一个 phpinfo() 文件;
phpinfo() 将会显示PHP的相关系统信息。可以在 DocumentRoot 下创建一个 PHP 文件,其代码如下:
<?php phpinfo(); ?>
8、重启 Apache,然后从浏览器访问上面创建的文件。
要重启Apache,可以在 shell 中执行 sudo apachectl graceful,也可以停止/启动 macOS 系统首选项中的“Personal Web Server”选项。默认情况下,从浏览器访问本地文件的 URL 一般类似于:http://localhost/info.php,或者使用:http://localhost/~yourusername/info.php 来访问用户自己 DocumentRoot 中的文件。