![](/img/trans.png)
[英]Apache references wrong httpd.conf after Mac OS X Sierra upgrade
[英]Apache on Mac OS Sierra: Illegal instruction: 4 $HTTPD
我按照這里的說明在我的Mac上配置Apache,PHP和MySQL(運行Sierra 10.12.4)並使一切正常。 然后我使用遷移助手將所有內容復制到新Mac(Mac#2)以供其他開發人員使用。 首次登錄時,我打開了Chrome並訪問了localhost
。 我事先沒有對Mac#2做任何改動。
在Mac#2上,當我在Chrome中訪問localhost
時,我收到一個ERR_CONNECTION_REFUSED
(無法訪問此站點:localhost拒絕連接) 。 一些挖掘讓我在Apple Stack Exchange上進行了這個Q / A ,所以我在Terminal中嘗試了以下內容:
ping 127.0.0.1
(成功;即“從127.0.0.1開始的64個字節...”) ping localhost
(成功) ping myvirtualhost.dev
(成功) 然后我嘗試運行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
就我而言,它與“其他”conf文件中加載的php二進制文件有關:
試試跑步:
sudo mv /private/etc/apache2/other/+php-osx.conf /private/etc/apache2/other/+php-osx.conf-bak
然后重啟apache
如果你沒有這個conf文件,很可能你的系統上加載的php二進制文件導致了這個問題,因為錯誤與我看到的非常相似。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.