在El Capitan上安装PHP5.6:httpd.conf的语法错误

在El Capitan上安装PHP5.6:httpd.conf的语法错误,php,apache,osx-elcapitan,Php,Apache,Osx Elcapitan,当我使用MAMP Pro时,我需要通过OSX本身安装Elasticsearch。然而,我也需要PHP5.6和ElCapitan附带的5.5,我使用的是OSX10.11.6 我遵循了导致错误的: httpd:private/etc/apache2/httpd.conf的第119行出现语法错误: 无法将模块/mod_unixd.so加载到服务器: dlopen/usr/modules/mod_unixd.so,10:未找到映像 我在谷歌上搜索了一下,但没有找到任何明确的信息,我宁愿在找到线索之前不去

当我使用MAMP Pro时,我需要通过OSX本身安装Elasticsearch。然而,我也需要PHP5.6和ElCapitan附带的5.5,我使用的是OSX10.11.6

我遵循了导致错误的:

httpd:private/etc/apache2/httpd.conf的第119行出现语法错误: 无法将模块/mod_unixd.so加载到服务器: dlopen/usr/modules/mod_unixd.so,10:未找到映像

我在谷歌上搜索了一下,但没有找到任何明确的信息,我宁愿在找到线索之前不去修改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
这允许sudoapachectl开始工作,并且可以访问web服务器


但是,由于+php-osx.conf文件已被禁用,php仍处于5.5版本。要在这里继续,需要使用该文件中定义的可执行文件,并禁用另一个php5.conf文件。但我目前认为这还不足以让php5.6运行

在/private/etc/apache2/httpd.conf的第119行有什么内容?你能发布一些配置来让这个问题更容易回答吗?@spacepickle,我对命令行不太熟悉,所以很抱歉。我为这个问题添加了更多的信息。php安装脚本是否改变了您的httpd配置?如果你删掉第119行,会发生什么?@spacepickle,我把它注释掉,运行sudo apachectl start,没有出现错误。然而,当我运行php-v时,它的内容是:PHP5.5.36 cli builded:May 29 2016 01:07:06。因此,安装似乎失败了。您是否能够获取要呈现的php页面?关于安装,phpinfo告诉了您什么?可能是命令行php仍然是5.5,而apache正在使用其他东西