新配置的PHP環境,或者剛做過配置改動,比如新加載的DLL擴展,訪問頁面,可能會出現“內存位置訪問無效”的錯誤,主要原因是DLL擴展加載失敗。
我們就需要找到是哪一個DLL文件加載出現了問題。排查方法是:將php.ini中
display_startup_errors = Off 改為 display_startup_errors = On 。
這時訪問php頁面,服務器上會彈出php錯誤的提示對話框,你就可以明確看到是哪一個dll文件加載失敗,有時會有多個dll文件加載失敗,需要你先分號(;)注釋掉php.ini中提示那個dll后繼續訪問如此反復排查,如我打開
display_startup_errors = On 出現
Warning Cannot load module ‘SQLite’ because required module ‘pdo’ is no loaded
解決辦法也很簡單了,因為加載php_sqlite.dll時未加載到php_pdo.dll文件,所以運行phpinfo()函數時提示內存 位置訪問無效。找到php.ini配置文件,然后去掉”;extension=php_pdo.dll”前面的分號, extension=php_sqlite.dll
把出問題的dll都用分號(;)注釋掉后,php就可以正常運行了,如果上面方法無法解決,可參考下面方法:
打開php目錄開始調試……花了一點時間總算找到了根源,如果你也碰到這個問題那么你也來試一下以下我的解決方案:
打開php的安裝目錄編輯php.ini這個文件,搜索下面的字段
extension=php_exif.dll,找到后在前面加一個;分號,如下:
;extension=php_exif.dll,保存重啟iis再訪問一下php文件看看能否打開了 是否沒有出現內存位置訪問無效了
新聞熱點
疑難解答