2011-11-29 108 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

相關問題