2011-06-22 48 views
4

我使用PHP exec函數來運行一些python腳本。我使用的是Apache,它記錄了error.log文件中的所有錯誤。無論何時出現語法錯誤或任何內容,它都會記錄在apache錯誤日誌中。但是現在我已經安裝了nginx和php-fpm。php-fpm不會顯示php執行函數的錯誤

這裏的問題是,無論何時python出現錯誤,nginx都不會在error.log中記錄任何內容。在exec中作爲第二個參數傳遞的$ output也是一個空數組。所以現在我無法從Python或終端獲取錯誤。請告訴我如何獲得這些錯誤....

回答

4

您可以在您的nginx站點配置文件中設置錯誤日誌:nginx/sites/sites-available/{RELEVANT SITE FILE}

確保你有這樣的文件中:

error_log /var/www/logs/nginx.error.log debug_http; 

您也可以嘗試使用PHP的錯誤報告:

<?php 

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

    // Manual Error Log Creation 
    error_log($customError, 3, "/var/www/logs/php.error.log"); 

    // YOUR CODE BELOW 

?> 

看出來的另一件事是,如果你不能輸出任何東西在所有的情況下,那麼它也可以顯示爲一個錯誤,看看這個其他stackoverflow post

+0

Nginx的增加error logging directives是行不通與PHP錯誤日誌 – sanmai

+0

你是對的,但它確實給你一個普通的HTTP錯誤日誌。我只是展示了不同的方式來顯示各種錯誤。 –

2

Nginx不對此類日誌記錄負責。

您必須在您的php-fpm.conf