10
2011
03

解决php 内存位置访问无效 的错误

今天为客户的服务器安装PHP+mysq环境时遇到一个新问题!配置好后开始访问phpinfo一切正常,然后再访问phpmyadmin时,问题来了!无 论如何调试均出现”内存位置访问无效”的错误。经过近两小时的奋战,经于将问题解决了,特Post如下,以方便遇到此问题的朋友少走弯路…

配置环境如下:
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 打开,问题所在终于发现了…  (注:如果将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,希望对遇到此问题的朋友有点儿帮助…

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。