升级到MacOS High Sierra后,我无法访问我的localhost.我尝试重新启动Apache,但它仍然无法正常工作.所以我做了apachectl configtest并收到此错误消息:
httpd: Syntax error on line 544 of /private/etc/apache2/httpd.conf:
Syntax error on line 8 of /private/etc/apache2/other/+PHP-osx.conf:
Cannot load /usr/local/PHP5/libPHP5.so into server:
dlopen(/usr/local/PHP5/libPHP5.so, 10): Symbol not found: _environ\n
Referenced from: /usr/local/PHP5/libPHP5.so\n Expected in:
/usr/sbin/httpd\n
我的httpd.conf文件的第544行是
包括/private/etc/apache2/other/*.conf
PHP-osx.conf是entropy-PHP.conf的别名,该文件的第8行是
LoadModule PHP5_module /usr/local/PHP5/libPHP5.so
其余的entropy-PHP.conf行是:
LoadModule PHP5_module /usr/local/PHP5/libPHP5.so
<IfModule mod_PHP5.c>
AddType application/x-httpd-PHP .PHP
AddType application/x-httpd-PHP-source .PHPs
<IfModule mod_dir.c>
DirectoryIndex index.html index.PHP
</IfModule>
</IfModule>
我使用的是Apache / 2.4.28(Unix)和PHP 5.6.30.
在更新之前一切正常.我已经在网上搜索了这个问题的任何解决方案,但无济于事.几年前有人在这里发布了类似的问题关于相同的语法错误,但是,他没有提供足够的细节或关于他的设置的任何后续行动,并且没有提供解决方案:Mac apache not working – apachectl configtest errors
解决方法:
这里(旧)第三方PHP可能来自entropy.ch安装到/ local /usr/bin /. Sierra httpd.conf被修改为与不同的PHP(和虚拟主机)一起使用.
在将macOS更新到High Sierra时,Sierra httpd.conf被备份到httpd.conf.sierra,安装了一个新的High Sierra httpd.conf并获得了控制权,但是不能使用自定义PHP5.
将High Sierra httpd.conf备份到httpd.conf.high_sierra之后:
sudo mv /private/etc/apache2/httpd.conf /private/etc/apache2/httpd.conf.high_sierra
重新激活httpd.conf.sierra:
sudo cp /private/etc/apache2/httpd.conf.sierra /private/etc/apache2/httpd.conf
取消注释httpd.conf行
#LoadModule PHP5_module libexec / apache2 / libPHP5.so
并将版本号从5更改为7,使其显示为:
LoadModule PHP7_module libexec / apache2 / libPHP7.so
将custom / local /usr/bin/PHP重命名为PHP5:
sudo mv /local/usr/bin/PHP /local/usr/bin/PHP5
用High Sierra默认/ private / etc / apache2 / other / PHP7替换软链接/ private / etc / apache2 / other / PHP-osx.conf(链接到/usr/local/PHP5/entropy-PHP.conf). CONF
并删除对自定义PHP5的任何引用,apachectl configtest没问题,Apache再次运行 – 现在使用Apple的PHP7.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。