2015-04-02 22 views
0

我寫在當前服務器的原始訪問文件,但我無法達到該文件的路徑,我用下面的代碼怎麼寫電流原始訪問日誌在服務器端文件

const GENERAL_ERROR_DIR = '/logs/agent_log'; 

    public function general($msg) 
    { 
     $date = date('d/m/Y h:i:s'); 
     $log = $msg . " | Date: " . $date . "\t"; 
     error_log($log,3, self::GENERAL_ERROR_DIR); 
    } 

在上面的代碼我無法在目的地達到該文件。我如何做到這一點。

+0

檢查運行Web服務器的帳戶的路徑權限。 – ethrbunny 2015-04-02 12:40:35

回答

1

你需要編寫實際的服務器端的路徑,這將是像/home/yourdomain.com/htdocs/logs/agent_log你可以用getcwd();您當前腳本的路徑,以便寫入相同的路徑腳本本身嘗試:

const GENERAL_ERROR_DIR = getcwd(); 

public function general($msg) 
{ 
    $date = date('d/m/Y h:i:s'); 
    $log = $msg." | Date: ".$date."\t"; 
    error_log($log,3, self::GENERAL_ERROR_DIR); 
} 

然後,您可以將其編輯爲您文件夾的正確路徑。類似於const GENERAL_ERROR_DIR = getcwd() . '/../../logs/agent_log;

此外,作爲@ethrbunny提到檢查任何您正在寫入這些文件夾的權限應該設置,以便他們可以寫入。

1

確保文件存在,並且apache/httpd具有正確的文件讀/寫權限。 一般給予該組的寫入權限將工作。 這File permission可以幫助。

總之,如果你在Linux環境下已經嘗試這個辦法:

chmod 666 /logs/agent_log OR sudo chmod 666 /logs/agent_log

這會給讀+所有寫權限。