gpt4 book ai didi

php - CLI 二进制文件中的错误报告行为

转载 作者:可可西里 更新时间:2023-11-01 13:41:48 24 4
gpt4 key购买 nike

test.php 包含以下行:

<?php echo 1 / 0; ?>

PHP 版本为 5.4.0 (cli)

现在,使用 display_errors 进行一系列测试:

  • display_errors = Off image1
  • display_errors = stderr image2
  • display_errors = stdout image3

为什么 Off 没有关闭 stdout 上的错误显示?

为什么 stdoutstderr 最终同时打印到两个输出?

最佳答案

Why does Off not turn off error display on stdout?

我想是因为没有设置 error_log。如果已设置,则不会显示错误。如果未设置,PHP 将使用 SAPI 错误记录器,即 CLI 中的 stderr(= stdout)。见:

ini_set('display_errors', 0);
echo 1 / 0; // Prints a warning.

ini_set('error_log', '/dev/null');
echo 1 / 0; // No warning on the standard output.

Why do both stdout and stderr end up printing to both outputs simultaneously?

第一个错误被发送到 SAPI 错误记录器,第二个错误被发送到标准输出 (display_errors = on)。显示这两条消息是因为正如我上面提到的,SAPI 错误记录器是 stderr,在本例中也是 stdout。

关于php - CLI 二进制文件中的错误报告行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10771959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com