php 访问冲突

php Access violation

提问人: 提问时间:10/1/2008 最后编辑:Paweł Hajdan 更新时间:3/20/2010 访问量:1831

问:

我正在尝试在Vista(IIS 7)上安装Php。安装和配置似乎没问题。几乎遵循了 http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspx 中提到的所有内容

我什至可以调出一个测试.php,它基本上也可以通过代码连接到mysql数据库。但是当我尝试调出其他一些 php 页面(如 drupal 的索引页面或 phpmyadmin 索引页面)时,它会显示 Php 访问冲突消息。

有什么线索吗?还有一些用于 php 的跟踪/诊断工具来跟踪 Web 服务器上发生的事情。

PHP Drupal 管理

评论


答:

3赞 vIceBerg 10/1/2008 #1

在你的 PHP 中。INI 文件,尝试注释所有扩展行并重新启动 IIS。请注意,MySql将不再起作用。做一些测试。

如果成功,请取消注释回 mySql 行。做一些测试。

如果不成功,他们我不能帮你更多。我怀疑这是一个加载的扩展导致错误。你必须找到哪一个......

希望这会有所帮助。

vIceBerg的

1赞 Simurr 10/1/2008 #2

我假设您使用的是 PHP 5.2.6(最新版本)。我还假设您从链接中的说明使用 ISAPI。

IIS上的PHP似乎有很多错误报告,存在访问冲突。

这里和这里列表

到目前为止,我发现的唯一建议是尝试 FastCGI 而不是 ISAPI。

我从来没有搞砸过调试PHP本身,我自己的语言脚本,但不是PHP。提供了生成回溯跟踪的说明和一些常规调试信息

编辑 -- 在阅读了 viceBerg 的回答后,我记得另一个可能的原因是非线程安全的 PHP 扩展和 IIS 彼此不喜欢。禁用它们并一次启用一个可能是值得的,但只有当您可以获得一个脚本来始终如一地导致该错误时,它才真正有用。

如果没有一致的、可重现的错误,这将很难调试。

1赞 drzhivago 10/1/2008 #3

谢谢大家。我禁用了所有扩展并开始一次添加一个扩展,并且只添加我需要使用的扩展(mysql,mbstring 等)。我还必须将php.ini复制到System32文件夹中(即使我在系统路径中已有它)。瞧,它奏效了。

0赞 Simon 1/29/2009 #4

尝试将 php 附带的 libmysql.dll 移动到 windows\system32