学习NO.1 发表于 2015-6-18 22:33:53

解决 PHP has encountered an Access Violation at ****

刚才道勤的会员VIP向我反映自己网站出现了 PHP has encountered an Access Violation at *****情况。

其实出现这个情况并不是论坛程序导致的,而是服务器环境导致的, 基本上都是 window 服务器。

可能导致的原因有一下几点:

1. php 的 eaccelerator 的扩展导致。(可能性很小)
eaccelerator原本是为 Linux(Unix) 服务器环境下开发的,在windows下并不稳定。如果你用的IIS 并且安装了eaccelerator,可以尝试去掉下试试

2.在php.ini 里找到 session_save_path和upload_tmp_dir ,分别指定一个路径,给路径 everyone 权限 (可能性也很小)

3.查看一下内存和cpu使用率是不是很大, 站点较多的话,可以先停掉其它站点试试看! (可能性也很小)

4. 网上有人说 ZendOptimizer 和php 搭配不兼容造成的,这个概率基本上接近于 0.

5.其实根据我以往的经验来说,这个问题的罪魁祸首就是 iis 应用程序池。(概率很大)
很多时候,我们其实并未对程序池做过什么过多的限制,具体是程序池哪里造成的,我也说不太清楚。很多时候,我们重启一下iis 能够临时解决,但是这不治本。

那么我给出一个很简单办法:
重新建立一个新的应用程序池,把phpwind程序指到新的程序池,删掉旧的程序池,一般来说问题解决。
如果还有问题,可以再给我联系,我给你其他解决办法。

其他办法
可能是你的 libmysql.dll文件导致的。因为PHP和MYSQL都有libmysql.dll文件(二者选其一)
1. 将mysql的bin目录下的libmysql.dll覆盖PHP ext下的libmysql.dll。可以再拷贝一个去system32。
2. 将php ext 下的 libmysql.dll文件 覆盖到 mysql 的 bin目录,再拷贝一份去C:\Windows\system32。


欢迎您支持我们道勤数据-为您提供优质空间商服务!
页: [1]
查看完整版本: 解决 PHP has encountered an Access Violation at ****