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

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

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

如果加载失败的dll是你必须使用的扩展库文件,那么就要从版本是否对应、文件是否齐全、文件是否已损坏等等方面去排查加载失败的原因了。不同的扩展具有不同的情况,这里就无法一一罗列了,记住:搜索引擎是你最好的帮手,针对单个dll去搜索解决的方法吧。

另外:新版本的Windows版本PHP,在出现错误时,会将详细的错误信息自动存储到Windows系统的TEMP临时目录,文件名为:php-errors.log。在Windows2003系统中路径一般是:C:\WINDOWS\Temp\php-errors.log。用记事本打开这个文件,就可以看到详细的php错误记录了。

此处往下是从网上转载的内容:

客户一个PHP网站每天早上都访问不了,提示“内存位置访问无效”,重启IIS无效,要重启服务器才能暂时正常,过一会儿又是出现这个“内存位置访问无效”的提示。
到百度上搜索了一下,找到解决方法,在此记录一下:
打开c:\windows\php.ini文件,搜索下面的字段
extension=php_exif.dll
找到后在前面加一个;分号注释掉
如下:
;extension=php_exif.dll
保存重启iis再访问一下php文件看看能否打开了,没有出现内存位置访问无效了。

以上操作实际上是把php_exif.dll组件禁用了。如果一定要用到这个组件可以试试下面这个方法:
一、将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_sqlite.dll时未加载到php_pdo.dll文件,所以运行phpinfo()函数时提示内存 位置访问无效。
找到php.ini配置文件,然后去掉”;extension=php_pdo.dll”前面的分号,extension=php_sqlite.dll
然后再回收一下IIS应用程序池进程,问题彻底解决….

时间: 2024-09-04 08:23:52

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

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

新配置的PHP环境,或者刚做过配置改动,比如新加载的DLL扩展,访问页面,可能会出现"内存位置访问无效."的错误.主要原因是DLL扩展加载失败. 我们就需要找到是哪一个DLL文件加载出现了问题.排查方法是: 将php.ini中  代码如下 复制代码 display_startup_errors = Off 改为 display_startup_errors = On . 这时访问php页面,服务器上会弹出php错误的提示对话框,你就可以明确看到是哪一个dll文件加载失败,有时会有多个d

installshield制作的安装包卸载时提示重启动的原因以及解决办法

原文:installshield制作的安装包卸载时提示重启动的原因以及解决办法 有时候卸载installshield制作的安装包程序,卸载完会提示是否重启电脑以完成所有卸载,产生这个提示的常见原因有如下几种:1. 卸载时,程序正处于运行状态2. 卸载时,程序文件夹处于打开状态3. 卸载时,有文件被别的进程调用,或者在进程中,常见情况如dll在进程中 一般来说解决办法是针对第三种情况的,解决办法是卸载时强制杀进程,比如在OnMaintUIBefore或者OnUninstall里写上强制杀进程的代码

PHP中xajax库中文问题及提示返回XML文件无效的解决办法

xajax是PHP下一个非常好的ajax框架,虽然xajax自己说自己是一个库(Library),但是我觉得它更像一个框架(Framework).xajax是一个开源的 PHP 类库 它能够让你黏合HTML.CSS.Javascript和PHP,并可以结合Smarty模板系统使用. 在运用Xoops的Page模组的时候,发现其不能和中文正常工作,特别是不能和UTF-8编码的页面一起工作,昨天在利用这个实现DataGrid的时候发现完全不能正常工作了,一直报"the XML response th

Win7系统提示“内存不足”的原因及解决办法

  1,系统提示"内存不足"的原因分析 "内存不足"故障的原因主要包括如下几个. ① 同时运行的应用程序太多. ② 硬盘剩余空间太少. ③ 系统中的"虚拟内存"设置太少. ④ 运行的程序太大. ⑤ 笔记本电脑感染了病毒. 2 , 系统提示"内存不足"的解决办法 系统出现"内存不足"故障后,可以按照如下方法解决. ① 关闭不需要的应用软件. ② 删除剪贴板中的内容.删除方法是打开"开始-所有程序一附

联想笔记本充电时提示"电源已接通 未充电"解决办法

故障现象: 联想笔记本充电时提示"电源已接通 未充电". 原因分析: 一开始认为是电池问题,更换电池后故障依旧,重新安装电源管理软件后故障依旧,经过排查后确定为电源管理设置问题. 解决方案: 首先打开电源管理选项: 点击设置: 将设置由最佳电池保养更改为最长续航时间: 完毕, 经检测故障排除.

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进程,错误仍然出现"内存位置访问无

求帮助 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

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

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