Apache/PHP無法啟動分兩種情況:
1、Apache無法啟動,沒有載入php也無法啟動
2、Apache可以啟動,但載入php後無法啟動
第一種情況多數是Apache設定問題,或是80埠被佔用,使用Apache的設定檢查:
C:\>D:\Apache2.2\bin\httpd.exe -t Syntax OK
根據錯誤提示,修正錯誤。
如果是80埠佔用,這個在Windows機器比較常見,常常被IIS搶佔。註銷IIS服務:
iisreset /stop iisreset /disable sc stop w3svc sc delete w3svc
如果不是IIS,可以使用指令殺掉強佔80埠的進程:
# 查找占用80端口的进程id netstat -ano|find ":80" # 假设该进程id为2013,查看进程名称: tasklist /fi "pid eq 2013" # 杀掉该进程命令 taskkill /f /pid 2013
第二種多數是PHP編譯器的問題:
查看Apache錯誤日誌,有類似下面這些內容:
httpd.exe: Syntax error on line 63 of D:/Apache2.2/conf/httpd.conf: Cannot load D:/php/php5apache2_4.dll into server: %1 \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3
php5.5使用的編譯器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同時也要注意是x86版本,還是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。
如果Apache/PHP還無法啟動,那麼最可能是php5_module模組的問題:
1、Apache2.0對應的PHP模組為php5apache2.dll
2、Apache2.2對應的PHP模組為php5apache2_2.dll
3、Apache2.4對應的PHP模組為php5apache2_4.dll
換句話說,根據php5_module模組,可以知道目前版本php支援哪種Apache。
所以,Apache/PHP的搭配有下列幾種狀況:
1、php5.2支援Apache2.0和Apache2.2;
#2、php5.3、php5.4同時支援Apache2.2和Apache2.4;
3、php5.5只支援Apache2.4
推薦教學:PHP視頻教程
以上是Php無法啟動的詳細內容。更多資訊請關注PHP中文網其他相關文章!