在這麼多年來,我第一個PHP腳本,我想記錄一個錯誤:PHP無法寫入錯誤日誌 - 權限被拒絕
error_log("my error message", 3, $error_log);
我得到的一般Apache的錯誤錯誤日誌:
PHP Warning: error_log(/var/log/apache2/my_php_errors.log): failed to open stream: Permission denied in /var/www/html/blahblah/my_script.php on line 88
這是我已經檢查並嘗試:
- 創建
$error_log
用相同的所有權(root.adm
)和燙髮issions(640
)作爲Apache錯誤日誌。 - 將所有者更改爲
www-data
,這是PHP正在運行的用戶。 log_errors
是On
。open_basedir
沒有設置。- 使用PHP 5.5.x,所以安全模式不存在。
我錯過了什麼?
編輯:它能夠寫入一般的Apache錯誤日誌。神祕的原因是它無法以相同的所有權和權限寫入同一目錄中的另一個文件。
編輯2:另一個開發人員告訴我,這對他的WAMP有效,所以它是我的LAMP堆棧或配置特有的東西。
我們需要更多關於'$ error_log'變量的信息。它是日誌文件的目的地。對於默認日誌文件保留爲空。例如,它位於Web根目錄之內還是之外。如果在外面,你可能想檢查ini中允許的包含路徑。 – Xorifelse
聯繫您的服務器管理員。 – frosty
嘗試使用777來編寫PHP需要寫入的文件,並查看它是否可行 – Machavity