我已将PHP应用程序安装到共享主机Web服务器上。我得到500 Internal Server Error
。我似乎无法访问任何日志文件,所以我希望错误页面暂时提供错误的详细信息。
我知道如何在ASP.Net中这样做,但我对PHP并不熟悉。
答案 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执行任何操作。