訪問php時(shí)提示內(nèi)存位置訪問無效的解決辦法和思路分析
2017-03-04 07:56:36
13121
新配置的PHP環(huán)境,?者剛做過配置改動(dòng),比如新加載的DLL擴(kuò)展,訪問頁面,可能會(huì)出現(xiàn)“內(nèi)存位置訪問無效。”的錯(cuò)誤。主要原因是DLL擴(kuò)展加載失敗。我們就需要找到是哪一個(gè)DLL文件加載出現(xiàn)了問題。排查方法是:
將php.ini中“display_startup_errors = Off”改為“display_startup_errors = On”。這時(shí)訪問php頁面,服務(wù)器上會(huì)彈出php錯(cuò)誤的提示對(duì)話框,你就可以明確看到是哪一個(gè)dll文件加載失敗,有時(shí)會(huì)有多個(gè)dll文件加載失敗,需要你先分號(hào)(;)注釋掉php.ini中提示那?dll后繼續(xù)訪問如此反復(fù)排查,把出問題的dll都用分號(hào)(;)注釋掉后,php就可以正常運(yùn)行了。
如果加載失敗的dll是你必須使用的擴(kuò)展庫文件,那么就要從版本是否對(duì)應(yīng)、文件是否齊全、文件是否已損壞等等方面去排查加載失敗的原因了。不同的擴(kuò)展具有不同的情況,這里就無法一一羅列了,記住:搜索引擎是你最好的幫手,針對(duì)單個(gè)dll去搜索解決的方法吧。
另外?新版本的Windows版本PHP,在出現(xiàn)錯(cuò)誤時(shí),會(huì)將詳細(xì)的錯(cuò)誤信息自動(dòng)存儲(chǔ)到Windows系統(tǒng)的TEMP臨時(shí)目錄,文件名為:php-errors.log。在Windows2003系統(tǒng)中路徑一般是:C:WINDOWSTempphp-errors.log。用記事本打開這個(gè)文件,就可以看到詳細(xì)的php錯(cuò)誤記錄了。