gpt4 book ai didi

php - 停止来自 php 函数 gzuncompress 的错误消息

转载 作者:搜寻专家 更新时间:2023-10-31 21:14:23 25 4
gpt4 key购买 nike

以下 php 代码在控制台“数据错误”上输出。发生这种情况的原因是一个已知问题,但我想删除错误消息。

<?php   
gzuncompress("foo");
?>

我在网上搜索了如何在 php 上抑制错误消息并尝试了以下方法,但没有成功:

<?php   
error_reporting(0);
ini_set("display_errors",0);
ob_start();
@gzuncompress("foo");
ob_end_clean();
?>

非常感谢!

最佳答案

这很可能是您指定了自定义错误处理程序。

推理:

  1. ob_start()/ob_end_clean() 是浪费时间 - 这不会抑制警告消息,只会抑制您通过 echo 等输出的内容。所以删除这两行。

  2. error_reporting(0) 应该足够了——它表示“关闭所有错误”。您不会在错误日志或屏幕上看到它。但仍会调用自定义错误处理程序。

  3. “display_errors”会阻止它进入屏幕,但它会出现在您的日志文件中。

  4. @ 也会抑制消息 - 本质上它会临时设置“error_reporting(0)”。但仍会调用自定义错误处理程序。

所以唯一能解决所有这些问题的是自定义错误处理程序。即使您使用 @ 抑制错误或使用 error_reporting(0),它仍然会被调用。客户错误处理程序本身应调用 error_reporting(),如果为“0”,则应确保它不会产生错误。它可能有它自己的“保留缓冲区,吐出我的消息然后恢复缓冲区”代码,这就是它绕过 ob_start() 的原因。

我能想到的唯一原因:我刚刚通过控制台和网络浏览器/apache 运行了上面的代码,它很干净 - 没有显示任何警告等,如您所愿。

关于php - 停止来自 php 函数 gzuncompress 的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12310681/

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