微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

high-sierra – 安装MacOS High Sierra后,localhost失败,apache出现语法错误

升级到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 举报,一经查实,本站将立刻删除。

相关推荐