我使用笨,我已經添加了以下行到我的index.php:PHP的display_errors = 0不受尊重
error_reporting(E_ALL^E_NOTICE);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', $_SERVER['DOCUMENT_ROOT'] . '/php_errors.log');
出於某種原因,然而,PHP總是反正顯示警告/錯誤,而不是在可寫目錄中創建日誌。我知道上面的代碼被擊中,因爲如果我刪除「^ E_NOTICES」部分並重新提交,我會看到大量的通知。我也在上面的代碼之後拋出了一個die()語句來驗證它是否被命中。最後,我通過整個代碼庫grepped來驗證「display_errors」在代碼後面沒有使用,覆蓋我的值爲0.
是否還有其他可能導致我無法停止顯示錯誤的其他內容?
檢查您的php.ini設置您的設置是「PHP_INI_USER」還是「PHP_INI_ALL」。否則,您無法在腳本中更改它們。 – migg 2013-02-11 21:59:10
該文檔說'ini_set'的兩個參數必須是字符串,第二個參數是一個整數。我不知道它是否重要,但你可以嘗試在0附近加引號。 – kba 2013-02-11 21:59:22
@migg我會在正確的軌道上打賭你,但我在php.ini中找不到像這樣的東西。你知道它是什麼特定屬性嗎? – Anthony 2013-02-11 22:13:35