[warn] pid file D:/Program Files/Apache Software Foundation/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
Application Error中事件詳細信息:錯誤應用程序httpd.exe,版本2.2.17.0,錯誤模塊php5ts.dll,版本t5.3.5.0,錯誤地址0x000e890c。
上網(wǎng)查了一翻,涉及php5ts.dll錯誤的處理,一類是因為PHP只能使用自身版本的dll,如果出現(xiàn)因為系統(tǒng)路徑變量的原因,導致其他版本的dll先行引用,則出現(xiàn)錯誤。針對此類錯誤,或是刪除其他版本dll;或修改系統(tǒng)PATH變量,將PHP的放在前面;或將PHP的dll放到系統(tǒng)的System32目錄下。不過,我的路徑?jīng)]有問題,PATH變量中PHP的安裝目錄還在System32前,也沒有其他版本的php5ts.dll。前前后后試了多個安裝版本,都無法解決問題。
最后再次查看php.ini文件,發(fā)現(xiàn)一個配置:
error_log="C:WindowsTempphp-errors.log"。
于是打開C:WindowsTempphp-errors.log:
[14-Mar-2011 10:22:15] PHP Warning: PHP Startup: Unable to load dynamic library 'D:Program FilesPHPextphp_oci8.dll' - 找不到指定的模塊。
in Unknown on line 0
[14-Mar-2011 10:22:15] PHP Warning: PHP Startup: Unable to load dynamic library 'D:Program FilesPHPextphp_oci8_11g.dll' - 找不到指定的模塊。
in Unknown on line 0
[14-Mar-2011 10:22:15] PHP Warning: PHP Startup: Unable to load dynamic library 'D:Program FilesPHPextphp_pdo_oci.dll' - 找不到指定的模塊。
in Unknown on line 0
[14-Mar-2011 10:22:15] PHP Warning: PHP Startup: Unable to load dynamic library 'D:Program FilesPHPextphp_sybase_ct.dll' - 找不到指定的模塊。
in Unknown on line 0
接下來,再次回到php.ini中,將上面4個模塊注釋掉:
[PHP_OCI8]
;extension=php_oci8.dll
[PHP_OCI8_11G]
;extension=php_oci8_11g.dll
[PHP_PDO_OCI]
;extension=php_pdo_oci.dll
[PHP_SYBASE_CT]
;extension=php_sybase_ct.dll
重新啟動apache,成功。
我安裝PHP時,選擇了完全安裝。估計是完全安裝也沒有安裝相關的dll模塊,而php.ini中又引用這幾個模塊,從而導致httpd.exe啟動時,引用php出錯,而出錯信息顯示成php5ts.dll。因此,建議遇到php5ts.dll錯誤時,不妨查看一下php的error_log。