最近因工作需要,要學習PHP的基礎編程,於是學習架設PHP工作環境。
但按照教材上介紹的那樣,安裝了WMAP後,一直無法運行成功。後發現Apache一直都不在運行狀態。到WMAP中的Apache選項中去選擇啟動但無法啟動。
後經高人指點,總結出如下可能性無法啟動Apache:
可能情況一:
安裝Apache2的路徑中不能含有中文.
可能情況二:
重啟Apache就會彈出出錯提示框,提示"The requested operation has failed!" 然後打開服務,啟動Apache2,就提示我:
"Windows不能在本地計算機啟動Apache2.......並參考特定服務錯誤代碼1"
解決:主要是在Apache的安裝目錄下的\conf\httpd.conf,修改httpd.conf文件下的
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
把80端口改成81或者其他的 ,
改成後,
#Listen 12.34.56.78:81080
Listen 8080
再重啟ApacheServices就不會出現問題了
也許,這種方法對於不同版本的Apache可能有不同的解決方法,我在配置時是用的apache_2.2.11-win32-x86-no_ssl.msi版本的,其他版本的我不是很清楚,是不是這樣改,在這裡分享下我解決問題後的喜悅吧!
可能情況三:
因為這幾星期比較忙,所以很少去搞PHP.但今天突然想起開學時寫的幾個關於日歷的PHP程序,想改進它,所以就從服務那裡啟動Apache,但卻出現警告說:
“windows 不能在本地計算機啟動apache2。有關更多信息,查閱系統事件日志。如果這是非Microsoft服務,請與服務廠商聯系,並參考特定服務錯誤代碼1。”
試 了幾次都不行,再啟動MYSQL.卻能成功啟動.為什麼就不能啟動Apache呢?想想好像上次改動過httpd.conf文件.那時只是 把"AddCharset GB2312"改為"AddDefaultCharset GB2312"因為我的那些PHP程序不能取得URL中的中文字符.所以以為是這裡出了問題,所以那時就改為"AddDefaultCharset GB2312",以為下次搞時再去驗證行不行,所以就沒有啟動過Apache,直到今天啟動時發現有這個問題.改回原來的"AddCharset GB2312"再次啟動!卻能成功啟動!看來是這字符設置的問題!
可能情況四:
打開了迅雷,迅雷默認占用80端口。關閉迅雷再重啟Apache服務即可!
可能是Apache 的監聽端口與其他軟件有沖突,這是新手常犯的一個錯誤,Windows安裝了IIS服務器的同時,又安裝Apache服務器,二個服務器軟件都監聽TCP/IP協議的80端口,於是就有其中的一個服務不能啟動,如果要兩個服務同時運行,那麼修改Apache 的監聽端口,修改的具體方法請查閱Apache手冊。不同的編譯版,修改方法略有不同,一般都是修改httpd.conf文件,把其中的80端口改為其他的,如8080等。
如果沒有安裝IIS,又提示不能啟動。那就是迅雷等P2P軟件在作怪了,要查找是哪個軟件,在命令行窗口中輸入:netstat -o -an
在 Local Address這一列會顯示如下:
0.0.0.0:135
0.0.0.0:445
0.0.0.0:1688
0.0.0.0:8100
0.0.0.0:16368
10.10.10.1:139
127.0.0.1:1032
...
查找其中占用80端口的進程,然後在PId對應這一列查找它的進程Pid,然後在任務管理器把它找出來,或結束此進程。
重新卸載 並安裝一遍,,估計是防火牆之類的軟件吧你的服務給禁了