2010-08-30 69 views
9

我看不到任何PHP錯誤。我嘗試了所有可以發現錯誤報告的技巧,但沒有任何效果。無法讓PHP報告錯誤

display_errors處於打開狀態,error_logging處於打開狀態,但是當我查看出現錯誤的頁面時,我會看到空白頁。

/var/log/php.log不存在。

如果我設置本地日誌文件,則不會創建任何內容。

我一直在測試的文件是

<?php 
ini_set('display_errors',1); 
error_reporting(E_ALL|E_STRICT); 
ini_set('error_log','script_errors.log'); 
ini_set('log_errors','On'); 


$a= 

phpinfo(); 
?> 

任何其他的想法?

回答

3

您可能需要將其設置爲.htaccess,httpd.conf或php.ini(取決於您的服務器或託管公司)。你很可能有一個解析錯誤,這意味着你的腳本永遠不會打開錯誤報告。

+2

我試過你的代碼,它在命令行上工作,我不知道你是否有一個拒絕顯示phpinfo()的輸出的設置(出於安全原因),你看到一個有效但仍然空白的頁面。如果可以的話,看看'disable_functions'設置了什麼。 – Hans 2010-08-30 23:37:10

+0

有沒有辦法強制php報告解析錯誤? – Nathan 2010-08-30 23:38:38

+2

@Nathan你選擇這個答案B/C它有幫助或者是由於不同的原因?我有同樣的問題,因爲我不覺得它太有幫助。漢斯,也許如果你提到如何檢查是否有解析錯誤。 – puk 2012-03-14 09:28:10

1

你試過編輯實際的ini文件,而不是試圖在運行時改變它?您也可以嘗試使用ini_get('display_errors');來查看您的更改是否生效。如果這兩項工作都不成功,我會說你的安裝或者是錯誤的或者是非常有限的。

+0

我試圖將它設置有顯示錯誤,並報告其上,但沒有效果。 – Nathan 2010-08-30 23:36:27

0
  1. 作爲腳本的第一件事運行phpinfo(),你嘗試任何ini_set選項之前。如果您的主機具有禁用/限制的ini功能,那麼您很可能無法訪問phpinfo。
  2. 運行此腳本的目錄中的用戶標識是否具有寫入權限?可能無法打開測試日誌文件並以此方式殺死腳本。

一旦你得到了一些phpinfo()輸出,你將能夠看到是否/在哪裏PHP記錄錯誤。它可能會進入服務器的一般error_log或其他位置。

0

我通過我的軟管網站解決了這個問題 cpanel-> PHP配置 - >上