php提示 内存位置访问无效 解决方法总结

新配置的PHP环境,或者刚做过配置改动,比如新加载的DLL扩展,访问页面,可能会出现“内存位置访问无效。”的错误。主要原因是DLL扩展加载失败。

我们就需要找到是哪一个DLL文件加载出现了问题。排查方法是:

将php.ini中

 代码如下 复制代码

display_startup_errors = Off
改为

display_startup_errors = On 。

这时访问php页面,服务器上会弹出php错误的提示对话框,你就可以明确看到是哪一个dll文件加载失败,有时会有多个dll文件加载失败,需要你先分号(;)注释掉php.ini中提示那个dll后继续访问如此反复排查。

如我打开

 代码如下 复制代码
display_startup_errors = On

出现

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

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

 代码如下 复制代码
”;extension=php_pdo.dll”前面的分号, extension=php_sqlite.dll

把出问题的dll都用分号(;)注释掉后,php就可以正常运行了。

如果上面方法无法解决,可参考下面方法

打开php目录开始调试……花了一点时间总算找到了根源

如果你也碰到这个问题那么你也来试一下以下我的解决方案:

打开php的安装目录编辑php.ini这个文件

搜索下面的字段

 代码如下 复制代码

extension=php_exif.dll

找到后在前面加一个;分号

如下:

 代码如下 复制代码

;extension=php_exif.dll

保存重启iis再访问一下php文件看看能否打开了 是否没有出现内存位置访问无效了

时间: 2024-09-02 04:51:09

php提示 内存位置访问无效 解决方法总结的相关文章

访问php时提示内存位置访问无效的解决办法和思路分析_win服务器

我们就需要找到是哪一个DLL文件加载出现了问题.排查方法是: 将php.ini中 display_startup_errors = Off 改为display_startup_errors = On . 这是访问php页面,服务器上会弹出php错误的提示对话框,你就可以明确看到是哪一个dll文件加载失败,有时会有多个dll文件加载失败,需要你先分号(;)注释掉php.ini中提示那个dll后继续访问如此反复排查. 把出问题的dll都用分号(;)注释掉后,php就可以正常运行了. 如果加载失败的d

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出现内存位置访问无效错误问题解决方法_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进程,错误仍然出现"内存位置访问无

无法加载DLL“Mwic_32.dll”:内存位置访问无效

问题描述 使用vs2010做activex控件,其中需要调用第三方mwic_32.dll中的方法,生成.exe和.msi时将.dll一同打包进去,并将.msi打包成.cab文件,本机访问正确,但是客户端访问时却提示"无法加载DLL"Mwic_32.dll":内存位置访问无效".请问各位高手是何原因,如何解决呢? 解决方案

求帮助 C#编写activex时,调用外部dll,提示 内存分配访问无效

问题描述 问题描述:工具vs2008需要写个桌面读卡器的activex控件,调用BC900MAPI.dll(BC900MAPI.dll调用了Pcomm.dll).为了测试,我先写了个winform的demo,在xp系统中可以正常运行(因为win8一直提示初始化失败,就不在win8上测了),代码如下publicpartialclassForm1:Form{[DllImport("BC900MAPI.dll",EntryPoint="BC900_COMMCALL")]p

Windows系统提示目录拒绝访问的解决方法

当我们使用windows访问一些用户的文件夹或者系统的一些文件夹的时候会出现访问不了,权限拒绝的问题.这时候就需要对权限进行修改了.权限拒接显示的Access is denied提示.如图: 这时,需要选中文件夹,并单击右键,点击弹出的列表中最下方的属性. 在弹出的属性面板中,却换到"安全"选择卡.如图所示: 查看当前的用户和组名中是否有你当前的账户名.如果有,那查看下方的权限是否都是允许的,如果不是允许的那就在下一步中删除掉这个账户. 点击编辑Edit按钮,进入组与用户的编辑界面.如

C++内存越界问题及解决方法

与内存泄露相比,C++最令人头痛的问题是内存越界,而内存越界很多情况下是由于悬挂指针引起的. 假设一个指针变量: Object * ptr; 使用ptr时,我们除了要判断ptr是否为0以外,还要怀疑它指向的对象是否有效,是不是已经在别的地方被销毁了.我们希望当它指向的对象被销毁时,ptr被自动置为0. 显然,C++没有这种机制,但是,可以借助于boost::weak_ptr做到这一点. inline void null_deleter(void const *) { } class X { pr

VS2008 C# 调试程序 内存分配访问无效。 (异常来自 HRESULT:0x800703E6)

问题描述 内存分配访问无效.(异常来自HRESULT:0x800703E6)(0):生成(web):内存分配访问无效.(异常来自HRESULT:0x800703E6)这个问题怎样解决???我每一次打开VS2008第一次调试项目,没有问题可以运行.但是当关掉调试页面后再次启动调试时却提示错误! 解决方案 解决方案二:会不会是有些资源没有及时释放?最好从环境上找下原因.解决方案三:我觉得可能是C盘的文件夹权限问题,但是不知道应该改C盘的哪个文件夹的权限!因为我用的不是administrator账号,

win8.1系统弹窗提示内存不足两种处理方法

  win8.1系统弹窗提示内存不足两种处理方法.今天就给大家分析一下具体的解决方法. 方法1 1开始菜单里搜索"服务",点击第一个"查看本地服务" 2找到"Diagnostic Policy Service""Diagnostic Service Host""Diagnostic System Host"三个服务项,右键"属性",将启动类型设置为"禁用",服务状态设