2011-11-29 67 views
0

我正在使用Kohana 3.x,PHP的亚马逊托管和当出现错误,它而不是显示错误,它给500内部服务器错误。由于我必须在本地主机上调试我的代码,但是很多时候错误只能在线测试,因为许多事情只能在线测试,所以在这种情况下,我必须通过评论代码的一部分或逐行进行测试。那么有没有一种方法,而不是500内部服务器错误,它给了我实际的PHP错误或Kohana错误,会更有帮助。亚马逊托管上的任何错误有500内部服务器错误

在此先感谢您的时间。

+2

看看Apache的错误日志。它会详细介绍500.总是首先检查日志,而不是盲目地尝试禁用代码 - 在任何代码甚至开始执行之前,错误都可能发生。 –

+0

您尝试使用“try-catch”? – FxckDead

+0

我知道这不是htaccess错误或其他apache错误。有时候会导致一些错误。有时候当我调用某个不存在的类时,或者调用某个文件中存在的某个类没有适当的读取/执行权限的类时。但它不告诉错误,但只给500内部服务器错误。 – Hafiz

回答

1
  1. 首先,不要在生产网站上显示PHP错误!
  2. 实现自己的HTTP错误页面 - http://kohanaframework.org/3.2/guide/kohana/tutorials/error-pages
  3. 设置bootstrap.php生产:
    Kohana::$environment = Kohana::PRODUCTION;
    error_reporting(E_ALL^E_NOTICE^E_STRICT);
  4. Kohana的出现与内置的错误日志记录功能。每个HTTP错误(404,403,500等)都会自动保存在application/logs/month/day.php文件中。打开此文件并检查错误原因。
+0

如果你打算使用Kohana的内部记录器这种错误,一定要设置write_on_add为TRUE或者你永远不会看到任何日志: 'Kohana :: $ log-> attach(新的Log_File(APPPATH.'logs'),Log :: DEBUG,0);' 'Log :: $ write_on_add = TRUE;' –

0

您使用的是.htaccess文件吗?它用于导致500个内部服务器错误。另外检查你的服务器错误日志

+0

目前不是,但我知道这不是htaccess错误。有时候会导致一些错误。有时候当我调用某个不存在的类时,或者调用某个文件中存在的某个类没有适当的读取/执行权限的类时。但它不告诉错误,但只给500内部服务器错误。 – Hafiz

3

我曾经经历过,在某些情况下,如果我不应用这些,我的服务器会抛出一个500错误(即使有小的愚蠢错误)。

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

尝试在代码的开头应用这些代码。

+0

嗯,我想我需要看看它,我知道这一点,但没有认为500内部服务器错误是因为这 – Hafiz

相关问题