解决Apache/PHP无法启动的问题
最近經(jīng)常被問(wèn)到Apache無(wú)法啟動(dòng)的情況,所以寫一篇文章,總結(jié)一下Windows下經(jīng)常遇到的 Apache/PHP 無(wú)法啟動(dòng)的情況的解決方法。
Apache/PHP 無(wú)法啟動(dòng)分兩種情況:
1.、Apache無(wú)法啟動(dòng),沒加載php也無(wú)法啟動(dòng)
2、Apache可以啟動(dòng),但加載php后無(wú)法啟動(dòng)
第一種情況多數(shù)是Apache配置問(wèn)題,或者80端口被占用
使用Apache的配置檢查:
C:\>D:\Apache2.2\bin\httpd.exe -t Syntax OK根據(jù)錯(cuò)誤提示,糾正錯(cuò)誤。
如果是80端口占用,這個(gè)在Windows機(jī)器比較常見,經(jīng)常被IIS搶占。
注銷IIS服務(wù):
iisreset /stop iisreset /disablesc stop w3svc sc delete w3svc如果不是IIS,可以使用命令殺掉強(qiáng)占80端口的進(jìn)程:
# 查找占用80端口的進(jìn)程id netstat -ano|find ":80"# 假設(shè)該進(jìn)程id為2013,查看進(jìn)程名稱: tasklist /fi "pid eq 2013"# 殺掉該進(jìn)程命令 taskkill /f /pid 2013 /******** 無(wú)情的分割線 ********* /作者:沒有開花的樹博客:blog.csdn.net/mycwq / ******* 無(wú)情的copy *********/第二種多數(shù)是PHP編譯器的問(wèn)題:
查看Apache錯(cuò)誤日志,有類似下面這些內(nèi)容:
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。同時(shí)還要注意是x86版本,還是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。
apache.org下載的Apache都是vc6版本,否則就根據(jù)不同文件說(shuō)明安裝不同的運(yùn)行庫(kù)。
vc11運(yùn)行庫(kù)x86/x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=30679
vc10運(yùn)行庫(kù)x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5555
vc10運(yùn)行庫(kù)x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=14632
vc9運(yùn)行庫(kù)x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5582
vc9運(yùn)行庫(kù)x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=15336
如果不清楚你的情況,可以安裝全部運(yùn)行庫(kù),再也不用為這個(gè)問(wèn)題擔(dān)憂了。
如果Apache/PHP還無(wú)法啟動(dòng),那最可能是php5_module模塊的問(wèn)題:
1、Apache2.0對(duì)應(yīng)的PHP模塊為 php5apache2.dll
2、Apache2.2對(duì)應(yīng)的PHP模塊為 php5apache2_2.dll
3、Apache2.4對(duì)應(yīng)的PHP模塊為 php5apache2_4.dll
換句話說(shuō),根據(jù)php5_module模塊,可以知道當(dāng)前版本php支持哪種Apache
所以,Apache/PHP的搭配有以下幾種情況:
1、php5.2支持Apache2.0和Apache2.2;
2、php5.3、php5.4同時(shí)支持Apache2.2和Apache2.4;
3、php5.5只支持Apache2.4
除非你自己手動(dòng)編譯php5_module模塊,否則只能有以上3種選擇。
參考:http://blog.csdn.net/mycwq/article/details/17280003
超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的解决Apache/PHP无法启动的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nginx反向代理原理简介
- 下一篇: 分布式任务分发框架Gearman教程和P