如何显示PHP内部服务器错误的详细信息?

时间:2009-11-17 20:36:56

标签: php shared-hosting

我已将PHP应用程序安装到共享主机Web服务器上。我得到500 Internal Server Error。我似乎无法访问任何日志文件,所以我希望错误页面暂时提供错误的详细信息。

我知道如何在ASP.Net中这样做,但我对PHP并不熟悉。

5 个答案:

答案 0 :(得分:16)

尝试:

error_reporting(E_ALL);
ini_set('display_errors', '1');

位于文件顶部。

答案 1 :(得分:4)

如果Jeremy Morgan的解决方案不起作用,请尝试使用set_error_handler()创建自己的日志文件。通常,有关应用程序状态的一些信息($ GLOBALS等)可能是足够的信息,但PHP将(至少尝试)向您传递有关错误发生位置和错误类型的各种信息。< / p>

另外,尝试使用“Divide And Conquer”调试方法。从大约一半的文件开始,然后如果它仍然崩溃或向下扩展,如果它运行umtil那个点。如果您不想删除代码,请/* comment out */要删除的代码,或使用__halt_compiler()特殊指令让PHP忽略文件中的所有剩余数据。

最后,有一件事让我发疯,试图修复它就是所谓的Byte Order Mark。 PHP正在评估文件开头的BOM,导致它发送输出,并在尝试发送标头等时导致问题。可能不是你的问题,而是值得拥有的知识。

答案 2 :(得分:2)

我怀疑你是从PHP那里得到错误的。在共享主机上,应用程序的默认.htaccess配置更有可能导致错误。

我的猜测是没有设置RewriteBase的mod_rewrite。

答案 3 :(得分:1)

查看phpinfo();中的值以查看是否有任何内容...将其放在代码中的某处,它应该显示一堆php版本信息

答案 4 :(得分:-1)

“内部服务器错误”不是PHP错误(顾名思义)。因此,您要么必须查看您的服务器日志(您似乎没有访问权限),要么您无法通过PHP执行任何操作。