Mac OS Sierra上的Apache:非法指令:4 $ HTTPD

Rya*_*ney 2 apache macos localhost httpd.conf

背景

我按照这里说明在我的Mac上配置Apache,PHP和MySQL(运行Sierra 10.12.4)并使一切正常.然后我使用迁移助手将所有内容复制到新Mac(Mac#2)以供其他开发人员使用.首次登录时,我打开了Chrome并访问过localhost.我事先没有对Mac#2做任何改动.

问题

在Mac#2上,当我访问localhostChrome时,我得到了一个ERR_CONNECTION_REFUSED (无法访问此站点:localhost拒绝连接).一些挖掘引导我在Apple Stack Exchange上进行此问答,所以我在终端中尝试了以下内容:

  • ping 127.0.0.1 (成功;即"从127.0.0.1开始的64个字节...")
  • ping localhost (成功)
  • ping myvirtualhost.dev (成功)

Plot Thicks

然后我试图运行apachectl configtest,这引发了以下错误:

  • /usr/local/bin/apachectl: line 79: 1132 Illegal instruction: 4 $HTTPD -t

好的,怎么样sudo apachectl -k restart?不,同样的错误:

  • /usr/local/bin/apachectl: line 79: 1170 Illegal instruction: 4 $HTTPD "$@"

省略该-k标志会引发相同的错误,但最后一个字符有点不同:

  • /usr/local/bin/apachectl: line 79: 1184 Illegal instruction: 4 $HTTPD -k $ARGV

我试过的

我不能停止,启动,重启或真正用Apache做任何事情.谷歌搜索错误并没有带来太大的影响.我已经尝试httpd.conf从备份中恢复,然后重新启动计算机.我查了一下/etc/hosts,看起来很正常.我不知道还能做什么.

Apache的配置搞砸了,但我不知道在哪里.我该怎么办?

其他潜在有用的信息

httpd -v在终端运行产生:

  • Server version: Apache/2.4.25 (Unix)

php -v在终端输入产生:

  • Illegal instruction: 4

所以我重新安装并现在php -v收益:

  • PHP 5.6.30 (cli) (built: Apr 7 2017 13:12:17)

打字which php收益率:

  • /usr/local/bin/php

CLL*_*CLL 7

就我而言,它与"其他"conf文件中加载的php二进制文件有关:

试试跑步:

sudo mv /private/etc/apache2/other/+php-osx.conf /private/etc/apache2/other/+php-osx.conf-bak

然后重启apache

如果你没有这个conf文件,很可能你的系统上加载的php二进制文件导致了这个问题,因为错误与我看到的非常相似.