mac自带php和apache用起来不太方便,主要原因是不方便管理,而且如果想要添加php扩展,会很麻烦,php版本怎么切换呢,而且好像没有phpize。使用mac,网上都推荐用brew,自己试了下挺方便了,比如用在带的apache,重启apache好像只能sudo /usr/sbin/apachectl restart,如果安装了brew httpd,就可以使用sudo apachectl restart。mac自带的php的配置文件在/etc目录,可以从php.ini.default复制出php.ini文件来使用,apache的配置文件在/private/etc/apache2/httpd.conf,在里面把loadmodule php注释去掉就可以使用mac自带apache和php了。本来用自带的也能用,但最近想安装一个yii2需要的imagick扩展,无奈尝试了各种方法都失败,听说安装扩展用phpize比较好,但我在mac自带的php里面找不到啊,最后还得用brew。然后通过brew search php查看可以安装的php,我选择安装了php@7.2。网上说安装之前要brew doctor和brew update。我安装的时候用的命令brew install php@7.2,期间会下载各种依赖,等了很长时间终于下载完了。记得在之前某次下载时报错,是因为没有下载xcode,$ xcode-select --install。安装php7.2的同时,也安装了httpd。那么现在如何把本地的apache和php切换到brew下面来呢?停止掉之前的apache,sudo /usr/sbin/apachectl stop,重启启动apache,sudo apachectl restart。配置环境变量,新建~/.bash_profile文件,
export PATH="/usr/local/opt/php@7.2/bin:$PATH"
export PATH="/usr/local/opt/php@7.2/sbin:$PATH"
export LDFLAGS="-L/usr/local/opt/php@7.2/lib"
export CPPFLAGS="-I/usr/local/opt/php@7.2/include",
打开Apache的/usr/local/apache2/conf下的httpd.conf,为了使得Apache识别php,应该做如下修改: 找到: DirectoryIndex index.html
将该行改为 DirectoryIndex index.html index.htm index.php
在配置文件中搜素: AddType 关键字,在其后面追加下面三行,如果不追加,httpd会直接打印php文件内容,不会调用php执行。 AddType application/x-httpd-php .php AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps
还有必须新增一行: SetHandler application/x-httpd-php