啟動Apache時提示錯誤“Cannot load php5apache2_2.dll into server”
2011-07-14 16:41
故障現象:
在命令符方式下啟動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時應該選擇版本相對應的來進行配置安裝。
轉自: http://bbs.chinaunix.net/thread-3581500-1-1.html
Windows下安裝Apache2.2+PHP5.3+MySQL5.5.15
1. Apache 2.2
一路下一步安裝即可。
2. PHP 5.3.6
官方目前只提供VC9編譯的Thread Safe或Non Thread Safe版本。
作為開發使用,版本選擇Thread Safe (window下一般開發環境用此版本即可,如果是以FastCGI來執行PHP時考慮到效率,需要採用None Thread Safe版本).
我習慣下載zip版本,即:php-5.3.6-Win32-VC9-x86.注意如果是在win2003/xp下運行php5.3 以上用vc9 編譯的版本的話,有可能會遇到無法啟動並執行情況,即雙擊php.exe 會彈出“由於應用程式配置不正確,應用程式未能啟動”的問題,這是由於該版本的php採用vc9編譯,而該win2003系統缺少運行庫導致的,可以安裝 Microsoft
2008 C++ Runtime (x86) 來保證運行。
問題:常見問題在配置apache裡的httpd.conf 時 LoadModule php5_module 缺少 “php5apache2_2.dll” 的情況是因為下錯了php版本,在Thread Safe版本下是具有php5apache2_2.dll的,而None Thread Safe版本 沒有這個檔案一般只用於fastcgi 所以不需要這個檔案。
連結apache和php,修改apache的http.conf,新增下面的行:
轉自 :http://koda.iteye.com/blog/1148942