Apache和php的安裝按部就班。
安裝時全部選擇了預設安裝路徑,按照步驟對httpd.conf和php.ini進行配置之後,開啟localhost預設首頁,顯示php正常安裝的資訊。
建立測試php的頁面如下:
<html><head><title>Cai's page</title></head><body><?php phpinfo();?></body></html>
不能開啟頁面,發現配置後未重啟apache服務,於是使用monitor重啟restart,結果報錯the requested operation has failed。
百度的可能原因:
原因一:80連接埠佔用
例如IIS,另外就是迅雷。檢查連接埠的方法是在cmd中輸入netstat -an,就可以看到各個連接埠佔用了,如果被佔用可以結束相應進程或者在httpd.conf中更改listen連接埠。
原因二:軟體衝突
裝了某些軟體會使apache無法啟動如Dr.com。開啟網路連接->Tcp/IPv4屬性->進階->WINS標籤 把netbios的lmhosts對勾去掉,禁用tcp/ip的netbios, 然後再啟動。
原因三:httpd.conf配置錯誤
如果apache的設定檔httpd.conf有錯誤。
先使用cmd進入Apache安裝的bin目錄,然後運行
apache -t
檢查設定檔文法,如果無誤(並不是真的沒有錯誤),在使用命令:
apache -w -n "Apache2" -k start
,有的錯誤在這裡會給出提示,可以去尋找相應解決方案。
但是,我的問題是在原因三中,但是採用上述方法不能檢測出來,最後的開啟Apache2服務沒出現異常,但是在monitor中仍然不能啟動,並且php不能被解析。
仔細查看httpd.conf設定檔最後添加的幾行如下:
PHPIniDir "C:\Program Files\PHP"LoadModule php5_module "C:\Program Files\PHP\php5apache2.dll"AddType application/x-httpd-php .phpAddType application/x-httpd-php .html
錯誤其實就在這裡,再添加目錄的時候,我的路徑是直接從windows下複製的,路徑中的應為正斜線,把上述幾行改正就沒有問題了,重啟成功,運行上面的測試頁面得到phpinfo資訊。改正後的conf幾行為:
PHPIniDir "C:/Program Files/PHP"LoadModule php5_module "C:/Program Files/PHP/php5apache2.dll"AddType application/x-httpd-php .phpAddType application/x-httpd-php .html