全面解决PHP has encountered an Access Violation问题 | 熊猫博客
当前位置: 首页 > 服务器配置, 程序问题, 网站建设 > 正文

全面解决PHP has encountered an Access Violation问题

遇到这种问题,首先建议你重启iis或者vps。

问题一、这个一般都是应用程序池AppPool帐号权限的问题(查看应用池有没有限制了什么,把限制去掉试试)。

先找出你的AppPool帐号是哪个(假设为A)。然后:
1. 配置A帐号对zend运行所需要的dll用读取和运行的权限。
2. 在php.ini中启用upload_tmp_dir配置,并且设置为一个A帐号有读写权限的目录。
3. 在php.ini中配置session.save_path和session.cookie_path为A帐号有读写权限的目录。(例如c:\temp 目录)

如果这些都不行,就可能是AppPool共享冲突。那样的话,就为你的php网站专门创建一个新的独享的AppPool。当然,权限也要配置好。

问题二、有可能是 php中 eaccelerator 的扩展的问题

去掉 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"
ea主要是在unix环境下开发的,但是作者忽略到windows实际上不像u主机那样,是没有u主机的那种内存共享机制的。当然,如果您的机器这个问题不严重,建议还是保留,ea是一块非常优秀的Php缓存+加速软件配合zo使用,将会降低系统负担 50%-80%左右,提高负载能力、速度和效率 200%左右。

问题三、您的内存严重不足,查看一下,如果确实这样,建议重启vps

问题四、PHP和Mysql版本之间的问题,一般建站了好久都没这问题,是后期出现的这问题,这个原因的可能性就小了

解决:只要全部更新到最新的版本就可以了。或者停止mysql和IIS,把mysql安装目录下面的libmysql.dll分别覆盖到php安装目录和%win%\system32下面,再重启MYSQL和IIS,问题解决!

问题五、ZendOptimizer和php的搭配不是很好,换个版本试试看


本文固定链接: http://www.chnpanda.com/649.html | 熊猫博客 | 转载请注明出处,谢谢合作!

本文关键字: ,

全面解决PHP has encountered an Access Violation问题:等您坐沙发呢!

发表评论

亲,不支持纯字母、符号评论哦~