我正在尝试在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。但是当我尝试调出一些像drupal的索引页面或phpmyadmin索引页面这样的其他php页面时,它会显示一条Php访问冲突消息。
有什么线索发生了什么?还有一些跟踪/诊断工具的PHP跟踪网络服务器上的whatign。
答案 0 :(得分:3)
在PHP.INI文件中,尝试注释所有扩展行并重新启动IIS。请注意,MySql将不再有效。做一些测试。
如果成功,请取消注释mySql行。做一些测试。
如果它不成功,我会帮助你。我怀疑这是一个加载的扩展导致错误。你必须找到哪一个......
希望这有帮助。
vIceBerg
答案 1 :(得分:1)
我假设您使用的是PHP 5.2.6(最新版本)。我还假设您从链接中的方向使用ISAPI。
在IIS上,似乎有很多关于访问违规的错误报告。
到目前为止,我发现的唯一建议是尝试使用FastCGI而不是ISAPI。
我从来没有乱用调试PHP本身,我自己的cource脚本,但不是PHP。有generating a backtrace和一些general debugging info的说明。
编辑 - 在阅读了ViceBerg的回答后,我记得另一个可能的原因是非线程安全的PHP扩展和IIS不喜欢彼此。将它们全部禁用并一次启用它们可能是值得的,但是如果你能得到一个脚本来一致地引起错误,它才真正有用。
如果没有一致的,可重现的错误,这将很难调试。
答案 2 :(得分:1)
谢谢你们。我禁用了所有扩展,并开始一次添加一个,只有我需要使用的扩展(mysql,mbstring等)。我还必须将php.ini复制到System32文件夹中(即使我在系统路径中有它)。瞧,它有效。
答案 3 :(得分:0)
尝试将php附带的libmysql.dll移动到windows \ system32