2014-02-18 47 views
2

我想寫關於/ protected/runtime目錄的r/w權限到apache錯誤日誌中的錯誤,並且不要在界面中引發任何異常。我該如何解決我的'問題'?Yii框架:僅在apache日誌中寫入錯誤

謝謝你,對不起我的英語!


問題是由使用解析:

error_log($message); 

和消除了CException調用時腳本試圖檢查運行時文件夾或運行file_put_contents功能

+0

提交作爲回答 – Pentium10

回答

0

當調試已關閉警予被顯示此錯誤使用(默認情況下)站點/錯誤視圖,只是將其更改爲不顯示消息文本並顯示一些通用的(例如,如果代碼== 500,則顯示「內部錯誤」)


如果你想在apache日誌中出現錯誤,我只會看到一點不潔的方式,無論如何只是測試過,它的工作原理。設置display_errors = Off並在php.ini log_errors = On,然後改變,從警予處理錯誤恢復默認處理程序,並再次上升錯誤行動 - 它應該導致Apache日誌和瀏覽器黑屏,前日誌記錄:

public function actionError() { 
    if (($error=Yii::app()->errorHandler->error)) { 
     if (strpos($error['message'], 'runtime') !== false) { 
      restore_error_handler(); 
      restore_exception_handler(); 
      user_error("Problem with runtime: " . $error['message'], E_USER_ERROR); 
      exit(); 
     } 
     if(Yii::app()->request->isAjaxRequest) { 
      echo $error['message']; 
     } else { 
      $this->render('error', $error); 
     } 
    } 
} 
+0

在apache error.log中顯示php錯誤並不是問題,當拒絕對運行時目錄的權限時,問題是寫入錯誤。這個值已經在我的php.ini中 - 沒有結果。當我將chmod 0666設置爲運行時目錄時,我在界面中出現錯誤,而在apache error.log中沒有任何提示 –