新配置的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