Windows系統下Apache、PHP無法啟動問題總結_win伺服器

來源:互聯網
上載者:User

最近經常被問到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

根據錯誤提示,糾正錯誤。
如果是80連接埠佔用,這個在Windows機器比較常見,經常被IIS搶佔。

登出IIS服務:

複製代碼 代碼如下:

iisreset /stop
iisreset /disable

sc stop w3svc
sc delete w3svc

如果不是IIS,可以使用命令殺掉強佔80連接埠的進程:

複製代碼 代碼如下:

# 尋找佔用80連接埠的進程pid
netstat -ano|find ":80"

# 假設該進程pid為2013,查看進程名稱:
tasklist /fi "pid eq 2013"

# 殺掉該進程命令
taskkill /f /pid 2013

如果不是上述問題,那可能是系統網路問題,如下警告:

複製代碼 代碼如下:

setup_inherited_listeners(), WSASocket failed to open the
inherited socket.

使用命令修複Windows網路:
複製代碼 代碼如下:

netsh winsock reset

重啟機子,如果問題還無法解決,嘗試以下方法:

本地串連 -> 屬性 -> 進階 -> Wins標籤 -> 去掉啟用LMhosts查詢前的勾選

複製代碼 代碼如下:

/********  無情的分割線 ********* /
  作者:沒有開花的樹
/ *******   無情的copy  *********/

第二種多數是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種選擇。

如果Apache/PHP還是無法啟動,檢查php配置(php.ini)是否存在,運行php.exe有沒有提示錯誤。根據錯誤提示,糾正錯誤。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.