簡體   English   中英

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

[英]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 (成功)

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

就我而言,它與“其他”conf文件中加載的php二進制文件有關:

試試跑步:

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

然后重啟apache

如果你沒有這個conf文件,很可能你的系統上加載的php二進制文件導致了這個問題,因為錯誤與我看到的非常相似。

我遇到了你提到的完全相同的場景和問題。 經過一些黑客攻擊和搞亂后,我能夠解決你提到的問題。

我相信重新安裝httpd24似乎可以解決問題!

$ brew reinstall httpd24

在重新安裝之前我嘗試過的其他一些事情:

  1. brew upgrade
  2. 卸載php56 (我在你提到博客文章中都有php56php70以及sphp腳本)
  3. brew doctor

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM