php“内存位置访问无效”错误的解决办法

突然发现网页登不上去了,提示错误“内存位置访问无效”。但服务器上ASP的站点可以运行,于是猜想应该是PHP出现了错误。

配置环境如下:

Win2003SP2+IIS6+php5.26+mysql5.0.51a+zend3.3a+PhpMyAdmin2.11.7.1 PHP执行方式:isapi。Mysql为手动安装。

关于“内存位置访问无效”的错误解决办法与步骤:(前三步可忽略)

一、将IIS的错误显示打开,未发现错误原因!

二、检查IIS扩展,ISAPI、php.ini与Mysql配置以及相应的安装目录ACLs权限,均无误。

三、回收IIS进程,错误仍然出现”内存位置访问无效”….

四、将php.ini中 display_startup_errors = On 打开,重新启动IIS,问题所在终于发现了… (注:如果将php.ini的display_startup_errors打开,如果php有错误出理,就会提示,而且在事件查看器中有记录。如果设置为display_startup_errors = Off,则不会有任何提示)

五、Warning

Cannot load module ‘SQLite’ because required module ‘pdo’ is no loaded

上面这条错误信息终于被发现了。大概意思就是因为php.ini配置中开启了SQLite桌面数据库的支持,但未开启相关的pdo模式,pdo模块加载失败…..

六、解决办法也很简单了,因为加载php_sqlite.dll时未加载到php_pdo.dll文件,所以运行phpinfo()函数时提示内存 位置访问无效。找到php.ini配置文件,然后去掉”;extension=php_pdo.dll”前面的分号, extension=php_sqlite.dll

然后再回收一下IIS应用程序池进程,问题彻底解决….

hoho,希望对遇到此问题的朋友有点儿帮助…



3 thoughts to “php“内存位置访问无效”错误的解决办法”

发表评论

邮箱地址不会被公开。