Php

IIS6.1 上的 PHP 錯誤日誌文件和寫入權限

  • July 14, 2016

這是在 IIS 6.1 上執行的帶有 PHP 5.3.6 的 Windows 2008 R2 標準伺服器(內部版本 7601:Service Pack 1)

我的 PHP.ini 文件中有這些設置:

error_reporting = E_ALL & ~E_DEPRECATED
log_errors = On
log_errors_max_len = 1024
error_log = C:/inetpub/temp/php_errors.log

也試過這些:

error_log = C:\inetpub\temp\php_errors.log
error_log = C:\inetpub\wwwroot\php_errors.log
error_log = C:\windows\temp\php_errors.log

phpinfo()報告上面顯示的正確值。

但我仍然無法從 PHP 腳本獲取任何程式碼寫入日誌文件。我試過這個:

error_log("Database not available!", 0);

甚至這個:

asd();

這可能是權限問題,因為我也無法使用 fwrite 編寫任何內容:

$fp = fopen('MyErrors.txt', 'a'); // this should go into the same directory
                                 // as my script but it, too, is not writing
fwrite($fp, "Error Msg ". $emsg . "\n");
fclose($fp);            

我將權限設置為我正在編寫錯誤日誌的文件夾以及我嘗試使用以下資訊編寫文件的位置:http: //blog.chrismeller.com/enabling-php-write-access-on-iis

但是我仍然無法在系統上的任何地方隨時寫入 php-errors.log 或 MyErrors.txt。

有任何想法嗎?

兩件事情..

  1. 確保log_errors = On在你的 php.ini
  2. 在路徑周圍加上引號 "C:\inetpub\temp\php_errors.log"

:)

引用自:https://serverfault.com/questions/789677