故障現象:
在命令符方式下啟動Apache時提示錯誤資訊“Syntax error on line 122 of D:/Apache/conf/httpd.conf: Cannot load D:/PHP/php5apache2_2.dll into server”,導致Apache無法啟動。
Apache的設定檔D:/Apache/conf/httpd.conf第122行內容為:
LoadModule php5_module D:/php/php5apache2_2.dll
PHPIniDir "D:/php"
注意:其中D:/PHP/php5apache2_2.dll是我安裝php的相應路徑。Apache為2.2.17版本,php為5.3.6版本。
出現錯誤的原因:
在網上查到一位朋友遇到類似情況,並提示根據PHP的安裝檔案名稱“php-5.3.6-Win32-VC9-x86.zip”得知該版本的PHP安裝檔案是由VC編譯完成的,因此如需要運行或調用該PHP壓縮包中的相關檔案,則需要首先安裝VC的運行時環境。如果你的機器沒有安裝有VC運行時環境,則Apache調用該PHP壓縮包中的相關檔案時會提示如上錯誤資訊。
解決方案:
在網上搜尋“VC2008可轉散發元件”或者是“VC2008運行庫”,下載安裝後即可解決此故障。
出現此錯誤的其他原因及解決方案:
原因:由於apache版本的不同,對應的“php5apache2.dll”也不同,如果你載入了錯誤的“php5apache2.dll”,則會提示該錯誤資訊。
樣本:假如你使用的是Apache2.2版的,則使用語句“LoadModule php5_module modules/php5apache2.dll”來載入PHP,就會出現該錯誤。這段代碼的配置應該修改為“LoadModule php5_module modules/php5apache2_2.dll”或者“LoadModule php5_module "D:/php/php5apache2_2.dll"”。
總結:
Apache2.2 對應 php5apache2_2.dll
Apache2.1 對應 php5apache2.dll
Apache1 對應 php5apache.dll
由於上述原因,假設是安裝了Apache2.2又安裝了PHP5.0那就要出錯了,在安裝Apache和PHP時應該選擇版本相對應的來進行配置安裝。