新配置的PHP環境,或者剛做過配置改動,比如新加載的DLL擴展,訪問頁面,可能會出現“內存位置訪問無效。”的錯誤。主要原因是DLL擴展加載失敗。
我們就需要找到是哪一個DLL文件加載出現了問題。排查方法是:
將php.ini中 display_startup_errors = Off 改為display_startup_errors = On 。
這時訪問php頁面,服務器上會彈出php錯誤的提示對話框,你就可以明確看到是哪一個dll文件加載失敗,有時會有多個dll文件加載失敗,需要你先分號(;)注釋掉php.ini中提示那個dll後繼續訪問如此反復排查。
把出問題的dll都用分號(;)注釋掉後,php就可以正常運行了。
上面是網上搜的方法,原理是對的,但是具體到我遇到的問題,不用那麼麻煩,把IIS先暫停下,結束w3wp.exe進程,刪除原來加載中的dll,重新添加新的dll,然後重新啟動IIS即可以.
from:末日blog