Mac XAMPP Apache 一直無法啟動解決方式

前言

XAMPP 可以堪稱是非常好用的 PHP 一鍵整合架站工具,但是最近不知道為什麼 MySQL Database 可以正常啟動,但是 Apache Web Server 卻一直無法啟動,因此紀錄一下原因。

XAMPP

XAMPP 非常適合拿來學習用,包含我先前寫的 「從基礎學習 ThinkPHP」也都是採用 XAMPP 快速架站學習。

那麼這陣子不知道為什麼一啟動 XAMPP 的 Apache Web Server 總是卡在啟動中

Starting...

但是問題可能性太多,所以只能紀錄排除問題的思維。

Error Log

首先第一步驟透過錯誤 Error Log 尋找無法啟用 Apache Web Server 的原因,這邊你可以點一下 Configure

Configure

接下來再按一下「Open Error Log」就可以看到相關錯誤原因了

Open Error Log

80 Prot 被佔用

如果是 80 Prot 被佔用的話,則可以參考這一篇 「Mac 系統 Port 號被佔用的解決方式」 來嘗試解決。

或者你可以透過 Configure 直接修改 Apache Web Server Prot 號

Prot

但我這邊狀況比較特別是儘管我已經修改成 5500 Prot 依然是無法正常開啟 Apache Web Server

修改 Prot

所以我又改回原本的 80 Prot。

刪除背景 httpd

如果上面都無效的話,另一種方式則是透過 Mac 活動監視器來解決,打開活動監視器後搜尋 httpd

httpd

如果有找到的話,將下方 httpd 全部強制停止

httpd

httpd

接下來再去啟動 Apache Web Server 或許就可正常運作了。

但很可惜我依然無法正常運作,因為我根本沒有搜尋到 httpd

沒搜尋到 httpd

Docker 影響

後來我突然想起來我的電腦有在跑 Docker,而且剛好又是佔用 80 Port,我就試著將 Docker 整個關閉

Quit Docker Desktop

然後再去啟動 Apache Web Server,果不其然真的是 Docker 影響到 Apache Web Server 導致無法開啟

成功啟動

但不知道為什麼 Apache Web Server Error Log 完全沒有記錄到這個 Docker 衝突錯誤,而且也不知道為什麼我明明有調整 Prot 但依然無法啟動的原因,或許是因為 Docker 本身會與 Apache Web Server 的 httpd 衝突導致整個 Apache Web Server 無法運作。

但是也很奇妙的是…如果我先開啟 Apache Web Server 再去打開 Docker 是可以的,Docker 也完全不會出現任何錯誤,就算針對 Apache Web Server 按下 Restart 也是可以正常運作。

所以基本上研判 Docker 的啟動不能比 Apache Web Server 早,否則會有一些不明原因而導致無法開啟,但是如果你是先開啟了 Apache Web Server 之後才開 Docker,那麼接下來就算你重新啟動 Apache Web Server 或者是 Stop 再去 Start 都是可以正常的唷。

我不得不說這個雷實在有夠特別…

Liker 讚賞

這篇文章如果對你有幫助,你可以花 30 秒登入 LikeCoin 並點擊下方拍手按鈕(最多五下)免費支持與牡蠣鼓勵我。
或者你也可以考慮請我喝一杯咖啡

Google AD

撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ