重庆seo博客

重庆SEO服务:做重庆网络推广与重庆网站优化的SEO顾问

PHP has encountered an Access Violation at 01F4A622解决方法

php搭建的网站出现以下问题的解决方法分享:

Z-blog,DedeCMS,Dsicuz!,PhpWind,PhpCMS,帝国CMS等都有可能出现php访问冲突问题。

今天访问网站发现出现了一个错误“PHP has encountered an Access Violation at 0AEAAD66”,查了一下是一般是MySQL数据库连接的问题。

1、如果是新搭建的服务器,可以查看 C:\windows\system32\libmysql.dll 文件名是否正确。

解决的办法是:把PHP安装目录里面的libmysql.dll文件复制到C:\windows\system32\下面。

2、如果是之前搭建好的服务器,可以重启一下

(pe就是通过重启服务器解决此问题的)

PHP has encountered an Access Violation at 错误

PHP has encountered an Access Violation at 01FDE4E6:在01f4a622 PHP遇到访问冲突

如果还不行,你再看看以下几点:

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,好使了,重启服务器,也好使了,做了个简单的压力测试,也好使了。 

猜想你应该是在windown是上运行的PHP,所以应该是你PHP运行需要的某些DLL文件在系统中存在不同的版本导致冲突所致,解决办法有2:

1. 把你的系统环境变量进行修改,把有C:\php的部分挪到前面,比如原来的Path变量如下:

Path = %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
C:\Program Files\Intel\DMIX;C:\Php;

 尝试修改成如下:

Path = C:\Php;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
C:\Program Files\Intel\DMIX;

2. 第二种方法,把你C:\php下的dll文件,尤其是类似mysql.dll文件拷贝到 c:\windows\system32 下

php访问冲突问题解决

PHP has encountered an Access Violation at 7C94BD02:在7c94bd02 PHP遇到访问冲突

PHP has encountered an Access Violation at XXXXXX 很多人说,是php版本的问题,更新到高点的PHP能解决,你可以试试。

PHP在Windows Server 2003 服务器配置好IIS+PHP+MYSQL环境后运行 PHPMyAdmin 提示:PHP has encountered an Access Violation at xxxxx 百度了N个网页找到的全是一Copy了N次的同一个方法,什么权限什么PHP.INI了屁用没有,最后终于在一博友日志中找到有效解决办法,Very Easy 的方法。

这个问题似乎是:PHP已经遇到了一个访问冲突在xxxx

问题出在libmysql.dll上, 因为PHP和MYSQL都有libmysql.dll,并且是不一样的文件,我在配置IIS+PHP环境时是按照Chinaz的一文章,那文中说安装完 Mysql后再把libmysql.dll 复制到C:\Windows\system32下,结果这步就是导致问题的原因了。

解决问题方法很简单,把C:\Windows\system32 下的libmysql.dll换成PHP目录下的就OK了。

当然可以不用复制到系统目录下,直接在PHP.INI中指定extension_dir就可以啦,并且要增加系统环境变量 D:\PHP;D:\php\ext 

引用于:http://www.dengor.com/archives/1484.html


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.2