PHP访问冲突

时间:2020-03-06 14:56:18  来源:igfitidea点击:

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

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

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

解决方案

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

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

如果还不成功,他们我不能为我们提供更多帮助。我怀疑是加载的扩展程序导致了错误。我们必须找到哪一个...

希望这可以帮助。

维伯格

我假设我们使用的是PHP 5.2.6(最新版本)。我还假设我们从链接的指示中使用ISAPI。

IIS上有很多关于访问冲突的PHP错误报告。

此处和此处或者列表

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

我从来没有用过调试PHP本身(我自己的cource脚本),而不必调试PHP。有生成回溯的说明和一些常规调试信息。

编辑-在阅读ViceBerg的答案之后,我记得另一个可能的原因是非线程安全的PHP扩展和IIS不互相喜欢。一次全部禁用它们并启用它们可能是值得的,但是,只有当我们能够获得一个脚本来始终导致该错误时,它才真正有用。

没有一致的,可再现的错误,将很难调试。

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

尝试将php附带的libmysql.dll移至Windows \ system32