php5_module /usr/local/Cellar/php56/5.6.31_7/libexec/apache2/libphp5.so
以下是apache错误日志:
[Tue Sep26 23:59:38.600410 2017][mpm_prefork:通知][pid 980]AH00169:捕获SIGTERM,关闭[Tue Sep26 23:59:38.622998 2017][core:通知][pid 980]AH00060:在父进程中检测到seg故障或类似的严重错误AH00557: http:apr_sockaddr_info_get()失败对于MacBook-Pro-Kamil.localAH00558: http:无法使用127.0.0.1可靠地确定服务器的完全限定域名。全局设置'ServerName'指令以禁止此消息[Tue Sep26 23:59:48.838005 2017][mpm_prefork:通知][pid 991]AH00163:配置为Apache/2.4.27(Unix)PHP/5.6.31-恢复正常操作[Tue Sep26 23:59:48.838097 2017][core:通知][pid 991]AH00094:命令行:'/usr/sbin/http pd-D FOREGROUN'
将以下行添加到我的httpd。conf文件修复了以下问题:
AddType x-httpd-php .php
AddHandler application/x-httpd-php .php .php5
希望这有帮助!
编辑:只是为了提供更多细节,正如crmpicco所建议的,我也更换了新的High Sierra httpd。形态和httpd虚拟主机。conf文件与我以前的Sierra文件类似:
mv httpd-vhosts.conf~previous httpd-vhosts.conf
mv httpd.conf~previous httpd.conf
即使在所有这些和重启Apache之后,它仍然不起作用——必须重新启动才能生效。
MacOS升级过程似乎将您的Apache配置移出到以前的文件中,同时创建新的版本。你只需要把它们移回去。这对我很有用:
mv httpd-ssl.conf~previous httpd-ssl.conf
mv httpd-vhosts.conf~previous httpd-vhosts.conf
mv httpd.conf~previous httpd.conf
检查语法。
apachectl -S
重新启动Apache。
apachectl restart
使用PHP5。6和HighSierra
>
启用共享Apache处理程序模块的构建确保已安装最新版本的PHP56并启用http选项(根据需要安装/升级/重新安装)
$brew升级php56——使用httpd
在Apache2配置文件中链接模块在apache2配置文件中添加以下语句 /etc/apache2/httpd.conf
LoadModule php5_module/usr/local/Cell/php56/5.6。32_8/libexec/apache2/libphp5。所以
添加PHP5配置文件
从php7复制一份。形态
$cd/etc/apache2/其他;sudo cp php7。形态php5。形态
用php5_module取代php7_module
重启Apache服务器
$sudo /usr/sbin/apachectl重启