本文章收集了關於在使用php時出現錯誤提示 PHP“內存位置訪問無效”的解決方法總結,有需要的朋友可參考一下。
新配置的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配置文件,然後去掉
把出問題的dll都用分號(;)注釋掉後,php就可以正常運行了。
如果上面方法無法解決,可參考下面方法
打開php目錄開始調試……花了一點時間總算找到了根源
如果你也碰到這個問題那麼你也來試一下以下我的解決方案:
打開php的安裝目錄編輯php.ini這個文件
搜索下面的字段
代碼如下 復制代碼extension=php_exif.dll
找到後在前面加一個;分號
如下:
代碼如下 復制代碼;extension=php_exif.dll
保存重啟iis再訪問一下php文件看看能否打開了 是否沒有出現內存位置訪問無效了