在禁用“ display_errors”的情况下将trigger_error()输出路由到error_log

时间:2019-04-11 14:08:45

标签: php error-handling

我们想将dense_rank()函数调用生成的所有输出记录到error_log文件中,以供以后分析。由于我们的应用程序针对基于HTTP的请求和控制台请求具有单个入口点,因此理想情况下,应在同一文件内进行设置,如下所示,例如这里命名为error.php

select max(case when OUTERID = 1 then DESCRIPTION  end) as DESCRIPTION_1,
       max(case when OUTERID = 2 then DESCRIPTION  end) as DESCRIPTION_2
from (select t.*,
             dense_rank() over (order by DESCRIPTION) as seq
      from table t
     ) t
group by seq;

通过网络服务器调用trigger_error()会导致正确登录test-error.log:

<?php
error_reporting( E_ALL );
ini_set("display_errors", 0);
ini_set("error_log", "test-error.log");
error_log("Msg 1");
trigger_error("Msg 2");

通过本地外壳程序调用error.php导致未记录error.php调用。

[11-Apr-2019 16:02:50 Europe/City] Msg 1
[11-Apr-2019 16:02:50 Europe/City] PHP Notice:  Msg 2 in error.php on line 6

我们应该如何设置错误报告以使trigger_error()中的php错误也出现在同一日志文件中?

0 个答案:

没有答案