簡體   English   中英

PHP 7.3 不創建/寫入錯誤日志文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM