[英]PHP 7.3 not creating/writing to error log file
我剛剛升級到 PHP 7.3(使用 XAMPP),出於某種原因,它似乎沒有將錯誤寫入指定的日志文件。
我在頁面輸出中收到不推薦使用的錯誤,但它們似乎沒有出現在任何日志文件中 - 這更理想,因為錯誤並不總是在頁面顯示中可見,如果它們是,它們會隱藏在代碼中例如,在屬性值之間生成。
在我的php.ini
我有:
error_reporting = E_ALL
display_errors=On
display_startup_errors=On
log_errors=On
log_errors_max_len = 2048
ignore_repeated_errors=Off
ignore_repeated_source=Off
report_memleaks=On
report_memleaks=On
html_errors=On
error_log="C:\xampp\php\logs\php_error_log"
編輯:我今天剛剛注意到該文件是最近創建的,其中還有其他錯誤(由 php.ini 本身的問題產生的錯誤,例如關於track_errors
棄用設置),但仍然沒有記錄有關頁面本身引起的問題的任何信息。
編輯 2:我創建了一個單獨的腳本來故意生成錯誤,並且它們似乎沒有正常記錄,所以我不確定這些其他腳本是如何沒有記錄的。
為什么我沒有從頁面中記錄錯誤?
您需要創建日志文件夾以確保您的 XAMPP 安裝在 C:\\
C:\\xampp\\php\\
然后在XAMPP 中重新啟動Apache並嘗試使用以下命令創建致命錯誤
trigger_error("Some info",E_USER_ERROR);
請試試這個
<?php
// Send error message to the server log if error connecting to the database
if (!mysqli_connect("localhost","bad_user","bad_password","my_db")) {
error_log("Failed to connect to database!", 0);
}
// Send email to administrator if we run out of FOO
if (!($foo = allocate_new_foo())) {
error_log("Oh no! We are out of FOOs!", 1, "admin@example.com");
}
?>
定義和用法
error_log() 函數將錯誤消息發送到日志、文件或郵件帳戶。
句法
錯誤日志(消息,類型,目的地,標題);
**> 參數說明消息必填。 將錯誤消息指定為
日志類型 可選。 指定錯誤消息應該去哪里。
可能的值: 0 - 默認值。 消息被發送到 PHP 的系統記錄器,
使用操作系統的系統日志記錄機制或文件,具體取決於什么
error_log 配置在 php.ini 1 中設置 - Message is sent
通過電子郵件發送到目標參數 2 中的地址 - 不再在
使用(僅在 PHP 3 中可用) 3 - 消息附加到文件
在目標 4 中指定 - 消息直接發送到 SAPI
日志處理程序目標 可選。 指定目的地
錯誤信息。 該值取決於類型參數的值
標題 可選。 僅在 type 參數設置為 1 時使用。
指定其他標題,如發件人、抄送和密件抄送。 多個標題
應該用 CRLF (\\r\\n) 分隔技術細節返回
值:成功時為 TRUE,失敗時為 FALSE PHP 版本:4.0+ PHP
更新日志:PHP 5.2.7:4 的值被添加到類型參數**
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.