Web_PHP_解決Apache/PHP無法啓動的問題

解決Apache/PHP無法啓動的問題 2015-2-26 14:41

特別說明:本文整理自http://www.2cto.com/os/201312/264364.html,請多多支持原版,謝謝!
文章背景:最近經常被問到Apache無法啓動的情況,所以寫一篇文章,總結一下Windows下經常遇到的 Apache/PHP 無法啓動的情況的解決方法。

思路:Apache/PHP 無法啓動分兩種情況:
1.、Apache無法啓動,沒加載php也無法啓動
2、Apache可以啓動,但加載php後無法啓動

一、第一種情況:多數是Apache配置問題,或者80端口被佔用
使用Apache配置檢查命令檢查:
C:\>D:\Apache2.2\bin\httpd.exe -t
Syntax OK
如果ok,就說明沒問題;否則根據錯誤提示,糾正錯誤。

1、iis問題
如果是80端口占用,這個在Windows機器比較常見,經常被IIS搶佔。

註銷IIS服務:
iisreset /stop
iisreset /disable

sc stop w3svc
sc delete w3svc

2、進程問題
如果不是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.org下載的Apache都是vc6版本,否則就根據不同文件說明安裝不同的運行庫。
vc11運行庫x86/x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=30679
vc10運行庫x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5555
vc10運行庫x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=14632
vc9運行庫x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5582
vc9運行庫x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=15336


如果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
除非你自己手動編譯php5_module模塊,否則只能有以上3種選擇。
參考:http://blog.csdn.net/mycwq/article/details/17280003

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章