如何解決php5ts.dll報錯問題?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了溫江免費建站歡迎大家使用!
這兩天安裝apache+php時遇到php5ts.dll錯誤問題。經(jīng)過幾天折騰,終于找到原因。
一、平臺
操作系統(tǒng):windows 2003;
Apache:2.2.17.0,使用httpd-2.2.17-win32-x86-openssl-0.9.8o.msi安裝包;
PHP:5.3.5.0,采用apache模塊方式,使用php-5.3.5-Win32-VC6-x86.msi安裝包。
二、安裝過程
將apache安裝在D盤,安裝后httpd.exe成功啟動。安裝php,選擇apache模塊方式,安裝在D盤完成。PHP安裝后,打開apache的httpd.conf文件,在文件尾部修正配置為:
PHPIniDir “d:/program files/php/”
LoadModule php5_module “d:/program files/php/php5apache2_2.dll”
三、錯誤
啟動httpd時,出現(xiàn)錯誤。查看日志。apache的error.log中記錄為:
[warn] pid file D:/Program Files/Apache Software Foundation/Apache2.2/logs/httpd.pid overwritten – Unclean shutdown of previous Apache run?
Windows的事件查看器/應(yīng)用程序中顯示為:
Application Error中事件詳細(xì)信息:錯誤應(yīng)用程序httpd.exe,版本2.2.17.0,錯誤模塊php5ts.dll,版本t5.3.5.0,錯誤地址0x000e890c。
上網(wǎng)查了一翻,涉及php5ts.dll錯誤的處理,一類是因為PHP只能使用自身版本的dll,如果出現(xiàn)因為系統(tǒng)路徑變量的原因,導(dǎo)致其他版本的dll先行引用,則出現(xiàn)錯誤。針對此類錯誤,或是刪除其他版本dll;或修改系統(tǒng)PATH變量,將PHP的放在前面;或?qū)HP的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,成功。
五、小結(jié)
我安裝PHP時,選擇了完全安裝。估計是完全安裝也沒有安裝相關(guān)的dll模塊,而php.ini中又引用這幾個模塊,從而導(dǎo)致httpd.exe啟動時,引用php出錯,而出錯信息顯示成php5ts.dll。因此,建議遇到php5ts.dll錯誤時,不妨查看一下php的error_log。
上文描述的就是php5ts.dll報錯的解決方法,具體使用情況還需要大家自己動手實驗使用過才能領(lǐng)會。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!