XAMPP 無法在 Mac OS X 10.10.3 Yosemite 上啟動 Apache

XAMPP 無法在 Mac OS X 10.10.3 Yosemite 上啟動 Apache

我的本地 XAMPP 堆疊在我的 Macbook Pro 上運行了數週(OS X Yosemite 10.10.3、XAMPP 5.5.24)。然後,我花了一些時間嘗試安裝一個庫,但不知何故搞砸了 XAMPP 的安裝。現在 Apache 根本不再啟動了。這就是我嘗試過的。

啟動阿帕契

$ sudo /Applications/XAMPP/xamppfiles/xampp startapache
XAMPP: Starting Apache...fail.
XAMPP:  Another web server is already running.

$ sudo /Applications/XAMPP/xamppfiles/xampp stopapache
XAMPP: Stopping Apache...not running.

所以我嘗試查找哪個網頁伺服器已經在運行。

殭屍阿帕契

我檢查殭屍阿帕奇

$ sudo lsof | grep AMP | grep apache
$ ps -x | grep apache
 7980 ttys000    0:00.00 grep apache
$ ps -x | grep AMP
 7990 ttys000    0:00.00 grep AMP

所以我沒有看到任何網頁伺服器正在運行。

Skype

我關閉 Skype。還是同樣的問題。

連接埠 80 上的其他偵聽器

我按照 mnfc 的回答中的建議檢查了連接埠 80 上的其他偵聽器。

$ lsof -i -P | grep -i "listen"
SpotifyWe  267 erwin    6u  IPv4 0x45f774a11f61c26b      0t0  TCP localhost:4370 (LISTEN)
SpotifyWe  267 erwin    7u  IPv4 0x45f774a11f61b99b      0t0  TCP localhost:4380 (LISTEN)
Dropbox    281 erwin   26u  IPv4 0x45f774a11f5b926b      0t0  TCP localhost:17603 (LISTEN)
Dropbox    281 erwin   27u  IPv4 0x45f774a12399b65b      0t0  TCP *:17500 (LISTEN)
Dropbox    281 erwin   33u  IPv4 0x45f774a117b1665b      0t0  TCP localhost:17600 (LISTEN)

$ netstat -atp tcp | grep -i "listen"
tcp46      0      0  *.ftp                  *.*                    LISTEN     
tcp46      0      0  *.mysql                *.*                    LISTEN     
tcp4       0      0  localhost.17600        *.*                    LISTEN     
tcp4       0      0  localhost.17603        *.*                    LISTEN     
tcp4       0      0  *.17500                *.*                    LISTEN     
tcp4       0      0  localhost.4380         *.*                    LISTEN     
tcp4       0      0  localhost.4370         *.*                    LISTEN     
tcp46      0      0  *.http                 *.*                    LISTEN     
tcp4       0      0  localhost.ipp          *.*                    LISTEN     
tcp6       0      0  localhost.ipp          *.*                    LISTEN     

$ lsof -i :80
COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
firefox 7929 erwin   41u  IPv4 0x45f774a12db287fb      0t0  TCP erwins-mbp.fritz.box:59555->ea-in-f113.1e100.net:http (ESTABLISHED)
firefox 7929 erwin   48u  IPv4 0x45f774a134b4a65b      0t0  TCP erwins-mbp.fritz.box:59558->190.93.244.58:http (ESTABLISHED)
firefox 7929 erwin   54u  IPv6 0x45f774a117aff4eb      0t0  TCP [2001:981:b88a:1:7467:5734:ba5f:58b8]:59565->ea-in-x65.1e100.net:http (ESTABLISHED)
firefox 7929 erwin   56u  IPv4 0x45f774a11f61a7fb      0t0  TCP erwins-mbp.fritz.box:59574->ec2-23-21-247-182.compute-1.amazonaws.com:http (ESTABLISHED)
firefox 7929 erwin   58u  IPv4 0x45f774a125dc499b      0t0  TCP erwins-mbp.fritz.box:59575->ec2-23-21-247-182.compute-1.amazonaws.com:http (ESTABLISHED)
firefox 7929 erwin   59u  IPv4 0x45f774a12db2999b      0t0  TCP erwins-mbp.fritz.box:59566->104.16.13.8:http (ESTABLISHED)
firefox 7929 erwin   60u  IPv4 0x45f774a134b5199b      0t0  TCP erwins-mbp.fritz.box:59569->ip-82-94-234-88.ams.byte.nl:http (ESTABLISHED)
firefox 7929 erwin   63u  IPv4 0x45f774a12db6d7fb      0t0  TCP erwins-mbp.fritz.box:59576->93.184.220.29:http (ESTABLISHED)
firefox 7929 erwin   65u  IPv4 0x45f774a13ae124bb      0t0  TCP erwins-mbp.fritz.box:59579->a23-52-59-27.deploy.static.akamaitechnologies.com:http (ESTABLISHED)
firefox 7929 erwin   67u  IPv4 0x45f774a1275404bb      0t0  TCP erwins-mbp.fritz.box:59568->ip-82-94-234-88.ams.byte.nl:http (ESTABLISHED)
firefox 7929 erwin   69u  IPv4 0x45f774a134b43b3b      0t0  TCP erwins-mbp.fritz.box:59581->server-54-230-130-235.ams50.r.cloudfront.net:http (ESTABLISHED)
firefox 7929 erwin   70u  IPv4 0x45f774a12db69b3b      0t0  TCP erwins-mbp.fritz.box:59577->104.16.13.8:http (ESTABLISHED)

身為超級用戶:

$ sudo lsof -i -P | grep -i "listen"
Password:
launchd      1           root   26u  IPv6 0x45f774a117b02beb      0t0  TCP localhost:631 (LISTEN)
launchd      1           root   34u  IPv4 0x45f774a117b19b3b      0t0  TCP localhost:631 (LISTEN)
launchd      1           root   35u  IPv4 0x45f774a117b19b3b      0t0  TCP localhost:631 (LISTEN)
launchd      1           root   45u  IPv6 0x45f774a117b02beb      0t0  TCP localhost:631 (LISTEN)
httpd       74           root    4u  IPv6 0x45f774a117b026eb      0t0  TCP *:80 (LISTEN)
SpotifyWe  267          erwin    6u  IPv4 0x45f774a11f61c26b      0t0  TCP localhost:4370 (LISTEN)
SpotifyWe  267          erwin    7u  IPv4 0x45f774a11f61b99b      0t0  TCP localhost:4380 (LISTEN)
Dropbox    281          erwin   26u  IPv4 0x45f774a11f5b926b      0t0  TCP localhost:17603 (LISTEN)
Dropbox    281          erwin   27u  IPv4 0x45f774a12399b65b      0t0  TCP *:17500 (LISTEN)
Dropbox    281          erwin   33u  IPv4 0x45f774a117b1665b      0t0  TCP localhost:17600 (LISTEN)
httpd      311           _www    4u  IPv6 0x45f774a117b026eb      0t0  TCP *:80 (LISTEN)
httpd     1227           _www    4u  IPv6 0x45f774a117b026eb      0t0  TCP *:80 (LISTEN)
mysqld    1832         _mysql   24u  IPv6 0x45f774a117b00deb      0t0  TCP *:3306 (LISTEN)
proftpd   1911         daemon    0u  IPv6 0x45f774a117afe5eb      0t0  TCP *:21 (LISTEN)

Erwins-MBP:~ erwin$ sudo lsof -i :80
COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
httpd     74  root    4u  IPv6 0x45f774a117b026eb      0t0  TCP *:http (LISTEN)
httpd    311  _www    4u  IPv6 0x45f774a117b026eb      0t0  TCP *:http (LISTEN)
httpd   1227  _www    4u  IPv6 0x45f774a117b026eb      0t0  TCP *:http (LISTEN)
firefox 8014 erwin   68u  IPv4 0x45f774a1462ac7fb      0t0  TCP erwins-mbp.fritz.box:64603->ee-in-f113.1e100.net:http (ESTABLISHED)
firefox 8014 erwin   74u  IPv4 0x45f774a12db290cb      0t0  TCP erwins-mbp.fritz.box:64598->190.93.246.58:http (ESTABLISHED)
firefox 8014 erwin   82u  IPv4 0x45f774a12db5399b      0t0  TCP erwins-mbp.fritz.box:64605->ip-82-94-234-98.ams.byte.nl:http (ESTABLISHED)

殺死連接埠 80 上的其他偵聽器

我想終止現有的 httpd 進程。我首先關閉了所有其他應用程序,包括 Firefox。當我嘗試使用sudo killall httpd或殺死它們時sudo kill 1227,它們不會消失。我仍然無法啟動我的 Apache 伺服器。

全新安裝

我完全卸載了XAMPP,刪除了目錄,並從安裝包中重新安裝了XAMPP。我重新啟動了我的 Macbook。還是同樣的問題。

XAMPP 管理器 OS X

答案1

經過幾個月的嘗試,我終於成功了。我找到了解決方案這裡:停用 OSX 內建的 Apache 伺服器。

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

答案2

你應該檢查 TCP 套接字上綁定到連接埠 80 的其他進程。

netstat -atp tcp | grep -i "listen"

Achive Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)   
tcp4       0      0  localhost.25035        *.*                    LISTEN
sudo lsof -i -P | grep -i "listen"

COMMAND     PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
GitHub      850 grgarside   6u   IPv4 0x23c345381d089301      0t0  TCP localhost:25035 (LISTEN)

答案3

對於任何正在尋找在 Xamps 上啟動任何伺服器的答案的人(已經對此進行了太長時間的挖掘)。

透過終端進行操作:我發現這個連結肯定有幫助:

http://daplo.net/solved-mac-os-x-xampp-mysql-server-is-not-starting/

mysql-sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

阿帕契-sudo /Applications/XAMPP/xamppfiles/bin/ftpdctl start

希望有幫助。

乾杯

相關內容