如何从IIS 7.5中的PHP页面诊断内部服务器错误(HTTP 500)

时间:2011-03-30 05:20:46

标签: php iis iis-7 aptana

我正在尝试获取在我的本地开发计算机上运行的aMember成员资格管理系统的试用版,该计算机是带有IIS 7.5的Windows 7 64位。我有MySQL 5.5.10和PHP 5.3.6,后者是我使用Windows安装程序包安装的。它似乎很好。

aMember软件包有一个我运行的tester.php脚本,它给出了一个'OK'结果,尽管它的输出充满了与函数相关的错误消息eregi()已被弃用。然后我运行了setup.php脚本,它似乎运行正常。它花了我一两个屏幕收集,例如MySQL的登录信息,然后表示已完成,并提供了一些aMember管理页面的链接。这些链接都不起作用,单击其中任何一个都会导致内部服务器错误(HTTP 500):服务器尝试完成请求时遇到意外情况。

如果不能在php页面中放置大量诊断写入,我还能做些什么来进一步诊断此错误?我可以使用的工具是Aptana Studio和Visual Studio,虽然我怀疑后者在这里有用。我已经用aMember支持记录了这个问题,他很快就询问了我的服务器日志,然后就消失了。

2 个答案:

答案 0 :(得分:1)

我的第一个停靠点是启用失败的请求跟踪:

  

Troubleshooting Failed Requests Using Tracing in IIS 7
  Troubleshoot with Failed Request Tracing

我也对你的PHP安装感到怀疑。根据经验,从不使用安装程序。他们似乎从来没有做过正确的事。

我会拆掉你的PHP安装,并使用以下步骤从头开始:

  

Using FastCGI to Host PHP Applications on IIS 7

FastCGI + PHP的非线程安全版本(5.2或5.3)是在IIS7上安装和配置PHP的权威方式。

答案 1 :(得分:0)

aMember试用软件使用编码的PHP,需要IonCube进行解码。我安装了这个,但似乎安装失败了,因为后续安装解决了这个问题。我最初难倒,因为在安装了IonCube之后,我运行了aMember测试脚本,告诉我安装了IonCube。 aMember支持回复说:

遗憾的是,测试程序脚本无法正确处理动态加载情况。 如果这些库不在php lib文件夹中,则5版本的PHP不允许动态加载库。所以你必须将IonCube或Zend安装到服务器php.ini '

我不知道为什么不能在测试脚本中建立警告。