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

我们就需要找到是哪一个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应用程序池进程,问题彻底解决….

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/4318.html

(0)
晴川运维晴川运维
上一篇 2025年6月8日
下一篇 2025年6月8日

相关推荐

  • iis 权限设置

    我们不应该把这归咎于 iis 的不安全。如果对站点的每个目录都配以正确的权限,出现漏洞被人黑掉的机会还是很小的(Web 应用程序本身有问题和通过其它方式入侵黑掉服务器的除外)。下面…

    IIS 2025年9月19日
  • 在Windows服务器上启用TLS 1.2及TLS 1.2基本原理介绍

    首先在这个网站上测试一下自己的服务器究竟处于什么水平。 https://www.ssllabs.com/ssltest/ 测试结果显示是支持SSL3.0的并且不支持TLS 1.2。…

    IIS 2025年10月4日
  • Windows服务器的基础安全加固方法(2008、2012)

    美团云(MOS)提供Windows Server 2008 R2和Windows Server 2012 R2数据中心版的云主机服务器。由于Windows服务器市场占有率较高的原因…

    IIS 2025年6月10日
  • IIS新手指南:实施网络跟踪

    IIS新手指南:实施网络跟踪 IIS新手指南:实施网络跟踪 在当今数字化时代,网络跟踪对于网站和应用程序的成功运行至关重要。IIS(Internet Information Ser…

    IIS 2025年10月9日
  • IIS 多站点 用户隔离视频教程

    偶不喜欢啰嗦直说了,简单来说就是三步! 1.建立计算机用户如test1.com并给Guests组权限,这个是最低权限; 2.在IIS你要设置的站点属性里设置目录安全性,编辑,输入你…

    IIS 2025年6月8日
  • win2008之IIS7中FTP设置技巧

        在Windows Server 2008 服务器上,开启IIS部分功能后,就可以开设网站了,但是光靠手工开设站点,以及站点恢复,这是一件相当麻…

    IIS 2025年6月10日
  • 无人值守安装IIS 6.0的原理分析

    基本命令:Sysocmgr.exe /i:sysoc.inf /u:c:\iis.txt c:\iis.txt是IIS要安装的组件列表 复制代码 代码如下: […

    IIS 2025年10月19日
  • VPS(win2003)安全设置教程

    一、禁止默认共享。 方法一: 建立一个记事本,填上以下代码。保存为*.bat并加到启动项目中 复制代码 代码如下: net share c$ /del net share d$ /…

    IIS 2025年6月11日
  • Windows 2016 IIS10.0+PHP+MySQL环境搭建

    准备篇 一、环境说明: 操作系统:Windows Server 2016 PHP版本:php 7.1.0 MySQL版本:MySQL 5.7.17.0 二、相关软件下载: 1、PH…

    IIS 2025年10月19日
  • IIS入门:在Windows 10上安装IIS

    IIS入门:在Windows 10上安装IIS IIS入门:在Windows 10上安装IIS 什么是IIS? IIS(Internet Information Services)…

    IIS 2025年10月26日

发表回复

登录后才能评论