-3

我刚刚升级到 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:我创建了一个单独的脚本来故意生成错误,而且它们似乎没有正常记录,所以我不确定这些其他的如何没有记录。

为什么我没有从页面记录错误?

4

2 回答 2

-1

您需要创建日志 文件夹确保您的 XAMPP 安装在 C:\

C:\xampp\php\

然后在XAMPP中重新启动Apache并尝试使用

trigger_error("Some info",E_USER_ERROR);
于 2019-03-07T01:40:24.900 回答
-1

请试试这个

   <?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() 函数将错误消息发送到日志、文件或邮件帐户。

句法

错误日志(消息、类型、目的地、标题);

**> 参数 描述 message 必需。将错误消息指定为

日志类型 可选。指定错误消息的位置。

可能的值:0 - 默认值。消息被发送到 PHP 的系统记录器,

使用操作系统的系统日志记录机制或文件,取决于什么

error_log 配置设置为 php.ini 1 - 发送消息

通过电子邮件发送到目标参数 2 中的地址 - 不再

使用(仅在 PHP 3 中可用) 3 - 将消息附加到文件中

在目标 4 中指定 - 消息直接发送到 SAPI

日志记录处理程序目标 可选。指定目的地

错误信息。该值取决于类型参数的值

标题 可选。仅在 type 参数设置为 1 时使用。

指定附加标头,例如 From、Cc 和 Bcc。多个标题

应该用 CRLF (\r\n) 分隔技术细节返回

值:成功时为 TRUE,失败时为 FALSE PHP 版本:4.0+ PHP

更新日志:PHP 5.2.7:类型参数中添加了 4 的值**

于 2019-03-12T18:06:35.033 回答