在 El Capitan 上安装 PHP 5.6:httpd.conf 出现语法错误

Installing PHP 5.6 on El Capitan: Syntax error with httpd.conf

当我使用 MAMP Pro 时,我需要通过 OS X 本身安装 Elasticsearch。但是,我还需要 PHP 5.6,El Capitan 附带 5.5(我使用的是 OS X 10.11.6)。

我遵循了 set of PHP installation instructions 导致错误:

httpd: Syntax error on line 119 of /private/etc/apache2/httpd.conf: Cannot load modules/mod_unixd.so into server: dlopen(/usr/modules/mod_unixd.so, 10): image not found

我用谷歌搜索了一下,但没有找到任何确定的东西,在我找到线索之前,我不想对 httpd.conf 进行更改。

我正在使用 Apache...

Server version: Apache/2.4.18 (Unix)
Server built:   Feb 20 2016 20:03:19
Server's Module Magic Number: 20120211:52
Server loaded:  APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)

第 119 行是:

LoadModule unixd_module modules/mod_unixd.so

PHP 安装程序弄乱了基础 httpd.conf 文件(注释掉了一大堆东西)并在 /etc/apache2/other/ 中添加了一个新的 +php-osx.conf 文件。

httpd.conf 的原始配置似乎默认备份并保留在 /etc/apache2/original/httpd.conf

已将原始 httpd.conf 移动到备份位置并重命名 +php-osx.conf 文件以使其不被加载:

sudo mv /etc/apache2/httpd.conf /etc/apache2/httpd.conf.original
sudo mv "/etc/apache2/other/+php-osx.conf" "/etc/apache2/+php-osx.conf.bak"

然后复制文件夹/etc/apache2/original中的文件作为默认的conf文件:

sudo cp /etc/apache2/original/httpd.conf /etc/apache2/httpd.conf

这允许 sudo apachectl start 工作并且可以访问网络服务器。

但是 php 仍然在 5.5 上,因为 +php-osx.conf 文件已被禁用。要向前推进,需要使用该文件中定义的可执行文件并禁用另一个 php5.conf 文件。但我目前认为这不足以获得 php5.6 运行