手机
当前位置:查字典教程网 >网页设计 >应用技巧 >PHP has encountered an Access Violation at XXXXXX 的解决方法
PHP has encountered an Access Violation at XXXXXX 的解决方法
摘要:排错方法:最好先查看系统日志文件,我们从日志中就可以发现很多问题。我们就是因为数据库表出错,修复一下就可以了,重启下iis或重启下服务器试试...

排错方法:

最好先查看系统日志文件,我们从日志中就可以发现很多问题。

我们就是因为数据库表出错,修复一下就可以了,重启下iis或重启下服务器试试。

有客户反映在美国VPS中出现该错误:PHP has encountered an Access Violation at *

根据错误提示,可以用以下办法解决:

1、重启IIS,重启VPS主机即可。

2、关闭eaccelerator扩展

找到php.ini

如果是我帮您配置的,一般在c:/windows/php.ini

去掉

zend_extension_ts="C:phpextensionseaccelerator_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"

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

4、您的内存严重不足

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

6、这种多属于用win2003的用户,他们在应用池中设定了限制,比如多长时间回收,最大使用内存多少等等

技术部门推荐,重启IIS即可,因为这个错误出现的几率非常低。

以下是补充一:

打开网页发下如下错误:PHP has encountered an Access Violation at

当网站出现这个错误时候,首先要检查一下你的网站具体的错误原因。可能返回的同一个错误但是出现的原因可能是不一样的。比如感冒其实分很多种的哈!只有找到错误的原因才能更好更快的解决错误。

登陆你服务器打开系统日志。即在命令行中输入eventvwr在弹出的对话框中点击系统我在里面发现这个网站有一下错误提示:

PHP has encountered an Access Violation at XXXXXX  的解决方法1

看到这个错误错误的原因可以断定是:用户在更改过匿名用户访问后出现的。

处理办法:

1、重新建一个网站把主目录的路径指向原文件的目录。

1、右键网站--属性--目录安全性--身份验证和访问控制--编辑在用户和密码中输入正确的用户名密码。

刷新网址一切正常。这个错误是根据本机的实际情况处理的。你也要根据自己本机的具体错误原因解决存在的问题。

你再看看以下几点.

1,是否zend所需的dll文件所在目录给的权限不够,必须有读取和运行的权限

2,是否使用的2003,设置过应用池,比如池中限制了什么什么,调整一下再试试看,是否好了,呵呵

3,php.ini有两个地方没有设置,而且一些程序必须用到的

A

将;upload_tmp_dir该行的注释符,即前面的分号“;”去掉,使该行在php.ini文档中起作用。

upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以给其定义一个绝对路径,例如:

upload_tmp_dir=d:upload当然,此时你的d:upload目录必须有读写权限。

这里我设置为

upload_tmp_dir=c:temp(因为前面建立了这个文件夹,我图省事,呵呵)

B

出现这样的错误语句一般是因为你的php.ini中关于session.save_path一项没有设置好,解决的方法是将

session.save_path和session.cookie_path设置置为

session_save_path=c:temp

session.cookie_path=c:temp

然后在c:目录下建立一个temp目录,即可(前面我们的eaccelerarot正好用到,建立过这么一个文件

夹)

或者因为安装了一些组件导致。都可以参考下。

最近我的windows2003服务器频繁出现“PHP has encountered an Access Violation at ××××××”这样的错误,尝试搜索了下,遇到这样问题的人还真不少。我的原因可以锁定在eaccelerator上面,因为之前php运行效率不大满意,所以装了eaccelerator加速,效果还是不错的,但随着数据库不断加大,查询和更新数据库操作太频繁,出现了“PHP has encountered an Access Violation at ××××××”这个错误。网上的解决办法无非就是去掉eaccelerator加速,这肯定不行,因为我要用,那就按他们说的配置一下吧,什么临时文件啊、session路径啊,都改了,还是不行,于是就想是不是mysql版本的问题呢?看了下,发现dll的大小和修改日期还真不一致,于是把mysql下的dll覆盖了从php里拷贝到系统目录的dll,重启iis,貌似好了,但是重启服务器后又出现了,看来问题不在这,难道是iis应用程序池的问题?

尝试去除这个站点的所有限制,但是重启服务器后发现又不行,还是这个错误。观察了下,只要重启iis就能临时解决这个问题,但是这不治本啊。仔细想了下,既然我的环境没有问题,是在装了eaccelerator后出现问题,那就从eaccelerator下手。仔细检查每个配置,发现我配置的一点问题都没有,无论eaccelerator的版本、php的版本,还是mysql的版本,都没问题,权限也都够,php.ini配置也正确,但重启iis就好使一阵子,于是把问题定位到应用程序池。因为我的iis之前配置一点问题都没有。最近看eaccelerator资料是共享内存和硬盘,难道是iis应用程序池和其他站点共享导致这个问题?于是重新建立应用程序池,把这个应用程序池只独立分配给出问题的站点,适当减少对资源的限制,重启iis,好使了,重启服务器,也好使了,做了个简单的压力测试,也好使了。

到此问题解决,留个日志纪念下,我一个礼拜才解决的这个鸟问题。

【PHP has encountered an Access Violation at XXXXXX 的解决方法】相关文章:

IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法

SQL Server 2005 企业版没有 Management Studio管理工具的解决方法

Windows Script Host终止的解决方法

删除 Windows SharePoint Services的三种方法

电脑自动重启提示 Verifying DMI pool Data的解决方法

FTP连接时出现“227 Entering Passive Mode”的解决方法

处理 SSI 文件时出错的解决方法

asp 80070005 80070006 FSO等问题终级解决方法

解决Photoshop CS3在Win 2003下无法安装的解决方法

doscan.exe进程占用了大量的CPU和内存的解决方法

精品推荐
分类导航