PHP has encountered an Access Violation at XXXXX

selmy 编程脚本PHP has encountered an Access Violation at XXXXX已关闭评论203阅读模式
摘要

去掉 php中 eaccelerator 的扩展 这样做能够解决您的问题,不过可能会加重系统负担 因为eaccelerator主要是为了节省系统资源的东西

PHP has encountered an Access Violation at 02D9B842

PHP访问冲突问题。在网络上找了下原因以及相关的解决方法:

先重启一下IIS就能当时解决这个问题!

解决方法如下:

第一种可能:

去掉 php中 eaccelerator 的扩展 这样做能够解决您的问题,不过可能会加重系统负担 因为eaccelerator主要是为了节省系统资源的东西

具体做法是找到php.ini 如果是我帮您配置的,一般在c:/php/php.ini或者 c:/winnt/php.ini 或者c:/windows/php.ini

去掉

zend_extension_ts="C:\php\extensions\eaccelerator_win_xxx.dll"

eaccelerator.shm_size="16" eaccelerator.cache_dir="c:\temp"

eaccelerator.enable="1" eaccelerator.optimizer="1"

eaccelerator.check_mtime="1" eaccelerator.debug="0"

eaccelerator.filter="" eaccelerator.shm_max="0"

eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0"

eaccelerator.shm_only="0" eaccelerator.compress="1"

eaccelerator.compress_level="9"

eaccelerator主要是在unix环境下开发的,但是作者忽略到windows实际上不像u主机那样,是没有u主机的那种内存共享机制的 这个bug已经提交给他们了,希望0.9.5能够解决

当然,如果您的机器这个问题不严重,建议还是保留,ea是一块非常优秀的Php缓存+加速软件 配合zo使用,将会降低系统负担 50%-80%左右,提高负载能力、速度和效率 200%左右

第二种可能

session_save_path 需要设定一个实际的物理路径,并且该目录需要everyone的所有权限,类似U主机的0777

第三种可能 c:/winnt/temp 或者 c:/windows/temp 也需要everyone的所有权限,类似U主机的0777

第四种可能 您的内存严重不足,查看一下,如果有问题,请加内存,最好是一次加两条 比如加1G内存,最好是加2条一模一样的512M。否则没有启用双通道,效果也很一般

第五种可能 ZendOptimizer和php的搭配不是很好 换个版本试试看 目前比较稳定的搭配是 php4.3.11+zo 2.5.10a 或者php4.4.1+zo 3.0 beta2

第六种可能

这种多属于用win2003的用户 他们在应用池中设定了限制 比如多长时间回收,最大使用内存多少等等 这些设置势必造成这个经典的php错误

本篇文章来源于:http://edu.codepub.com/2009/0422/3208.php

文章末尾固定信息
weinxin
我的微信
微信扫一扫
selmy
  • 本文由 发表于 2010年04月27日 10:00:33
  • 转载请务必保留本文链接:https://oldblog.t4x.org/2010/04/27/php-has-encountered-an-access-violation-at/