重新配置 PHP 5.6 以在 MacOS 10.13 High Sierra 上运行

Cay*_*ver 7 php5 apache2

我需要在必须更新到 10.13 的 Mac 上运行 PHP 5.6。所以我重新安装了 5.6,验证了它的位置,并将其添加到 httpd.conf:

LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)

...并确保 PHP 7 的行仍被注释掉。重新启动 Apache,Apache 启动正常,没有错误,并且可以工作,但没有 PHP!因此,作为测试,我注释掉了 PHP 5 行并取消了 PHP 7 行的注释:

LoadModule php7_module libexec/apache2/libphp7.so
Run Code Online (Sandbox Code Playgroud)

...重新启动Apache,它再次工作正常,但仍然没有PHP!所以我查询了 httpd 二进制文件以确保我正在编辑正确的 httpd.conf 并且我是。两个版本的 PHP 都不会运行,但在 Apache 启动时也不会导致错误。(当我说 Apache 运行但 PHP 不运行时,我的意思是浏览器显示:

<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)

...没有渲染它。帮助?我已经没有办法让 PHP 5.6 运行起来了。

小智 1

我必须重新安装 xcode 和带有 apache 支持的 php56 才能使其再次工作。

xcode-select --install
brew reinstall php56 --with-httpd
Run Code Online (Sandbox Code Playgroud)

libphp5.so 不再由操作系统提供,但它存在于文件系统中,因为我们刚刚安装了它。所以你还必须更改你的 apache 配置文件以启用 php5:

LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)

  • 我已经重新安装了 php56,并使用正确的路径名取消了 httpd.conf 中 LoadModule 行的注释。Apache 启动正常,但 php 脚本无法渲染。 (3认同)