標籤:apache
很有用的一個apachehttp://www.apachelounge.com/download/
使用xamp,wamp開發php,根本不需要考慮配置問題,但是作為一名求是的開發人員,還是應該親手嘗試一下,於是開始自己分別下載apache php,然後配置。但是問題來了:apache 服務無法啟動--"Apache2.2 服務因 1 (0x1) 服務性錯誤而停止",於是馬上百度,再加上自己的琢磨,下面是解決方案:
1 80連接埠問題
很大部分的原因來自連接埠,如果你機子上的IIS或者其他程式佔用了80連接埠,那麼apache肯定無法啟動。所以第一個思路是:解決連接埠問題--可以用netstat -an查看連接埠使用方式,停止使用80連接埠的程式,然後啟動服務;也可以讓apache運行在另一個連接埠,譬如8080上。兩者皆可。
2設定檔httpd.conf問題
設定檔是第二個問題來源。拼字錯誤,路徑不對,以及版本參數的不匹配都會導致問題。因此第二個思路是:每次修改都要備份http.conf檔案,若果發現問題,則回到原設定檔,看看是否還有問題,若沒有,肯定是新設定檔裡有錯誤。檢查
LoadModule php5_module "D:/php-5.2.5-Win32/php5apache2_2.dll"
AddType application/x-httpd-php .php
的拼字問題,包括空格。當然最好直接複製粘貼,這樣最可靠。
其他諸如檔案路徑的斜杠,以及ErrorLog等路徑無效也都應注意。
如果上面兩步都安全通過,那麼我們的Apache應該可以啟動服務了!!
還有一類問題,服務可以啟動但是輸入localhost無法開啟頁面
這一般是netbios解析失敗造成的。解決的辦法很簡單,步驟如下:
1 在"網路位置"上 點右鍵,菜單上選"屬性(R)"。出來"網路連接"視窗,在"本地串連"上點右鍵,菜單中點"屬性(R)"。出來"本地串連 屬性"面板,在"此連結使用下列項目"中找到:"網際網路通訊協定 (IP) (TCP/IP)",並點擊它。在彈出的"網際網路通訊協定 (IP) (TCP/IP) 屬性"面板上,點擊"進階(V)..."按鈕。"進階 TCP/IP 設定"面板上點"WINS"選項標籤,去掉"啟用 LMHOSTS 查詢(L)"前面的勾,點"確定"按鈕。
2 開啟"控制台",點擊"Windows 防火牆",點擊"進階"選項標籤,選擇"本地串連",並點擊旁邊的"設定(T)..."按鈕。在服務選項中找到"安全 Web 服務器(HTTPS)",並把它勾選上,點"確定"按鈕。
最後一類問題 php檔案無法解析
當你萬分驚喜的發現可以開啟http://localhost 並看到apache的"IT works!"的頁面時,你很激動的馬上測試一個phpnifo的頁面,卻發現無法解析。這是因為,apache不知道如何解析php檔案。雖然LoadModule和AddType語句已經告訴apache 載入php模組並注意php尾碼的檔案,但是真正的解析還是要調用php5ts.dll等等檔案,所以
方案一:在path裡添加php所在目錄 並在httpd.conf裡添加
PHPiniDir "D:/php-5.2.5-Win32/"
方案二:直接將php5ts.dll從php目錄拷貝到apache的bin目錄即可
另外有一點需要注意 apache2.2以上的版本需要使用php5apache2_2.dll
在php5.2.5 已經內建了 而使用以前的版本,譬如php5.1請到http://php.net下載補丁php5apache2.dll-php5.1.x.rar並解壓.共有三個檔案.
vcredist_x86.exe
php5apache2.dll
httpd.exe.manifest
1.將 php5apache2.dll 覆蓋掉你原來PHP目錄下的 php5apache2.DLL 檔案.
2.將 httpd.exe.manifest 檔案複製到你的apache安裝目錄下的bin檔案夾下.
3.雙擊運行vcredist_x86.exe安裝.(如果您的系統裡已安裝了 .NET framework 2.就可以省掉這一步)
完成!重啟你的apache2.2試試吧.
當然,使用php5.2.5 完全不用管這個問題!
好了,大抵就這些問題比較常見,希望能給大家一點協助!
原文連結:http://www.cnitblog.com/benwhite/archive/2008/04/30/43118.html,感覺比較好,總結的挺全,分享一下
添加一個網上看到的另一種解決方案:
使用wamp包apache服務無法啟動
Aestan Tray Menu
Could not execute Menu item(interal error)
[Exception] Could not perform service action:
服務未啟動
網上給的答案是本地串連---屬性----Internet協議(TCP/IP)---屬性---進階---wins----匯入LMHOSTS(M)
把 {apache2dir}\bin\httpd.exe 添加進去就可以啟動了
本文出自 “芭菲雨的部落格” 部落格,請務必保留此出處http://bafeiyu.blog.51cto.com/5401101/1602453
Apache2.2 服務無法啟動等相關問題 解決方案匯總