php出现内存位置访问无效错误问题解决方法

yipeiwu_com6年前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 打开,问题所在终于发现了…  (注:如果将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应用程序池进程,问题彻底解决。

相关文章

php中禁止单个IP与ip段访问的代码小结

禁止单个IP <?php //加IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),...

php精度计算的问题解析

PHP var_dump(intval(0.58 * 100)); 正确结果是 57,而不是 58 浮点运算惹的祸 其实这些结果都并非语言的 bug,但和语言的实现原理有关,...

PHP游戏编程25个脚本代码

清单 1.简单的掷骰器 许多游戏和游戏系统都需要骰子。让我们先从简单的部分入手:掷一个六面骰子。实际上,滚动一个六面骰子就是从 1 到 6 之间选择一个随机数字。在 PHP 中,这十分简...

不用mod_rewrite直接用php实现伪静态化页面代码

在你的程序初始化时使用如下代码: 复制代码 代码如下:<?php $Php2Html_FileUrl = $_SERVER["REQUEST_URI"]; $Php2Ht...

php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍

shuffle()定义和用法 shuffle() 函数把数组中的元素按随机顺序重新排列。 若成功,则返回 TRUE,否则返回 FALSE。 注释:本函数为数组中的单元赋予新的键名。这将删...