gpt4 book ai didi

php - PHP : despite disabling all errors, copy() error message still displayed on page

转载 作者:行者123 更新时间:2023-12-03 08:51:22 26 4
gpt4 key购买 nike

我有:

ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);

它似乎可以正常工作,但是当我使用 copy()函数并尝试以拒绝访问的方式复制到目录时,该错误会显示在页面本身上。我不需要但是我无法拦截 copy()的错误。我尝试了 error_get_last()try...catch (Exception $e),但仍然无法拦截?如何禁用在页面上显示复制错误以及如何在代码中拦截它们?

最佳答案

从运行时开始,最好(并且更可靠)使用:

error_reporting(0);

有关更多信息,请参见: http://php.net/manual/en/function.error-reporting.php

您还可以通过在表达式前面加上 @来消除有关报告级别的任何错误:
@copy(...)

有关更多信息,请参见: http://php.net/manual/en/language.operators.errorcontrol.php,还请注意这会导致性能下降并导致表达式在发生错误时返回 bool(boolean) 值false(无论其原始返回类型如何)。

值得注意的是:

如果您使用的是nginx + php-fpm(或类似的),则ini值可能会在php-fpm的池配置中被覆盖。

如果您使用的是apache + mod_php,则.htaccess文件中的ini值可能会被覆盖。

在解析为 error_reporting(0)之前,请确保您不应该完全关闭error_reporting,因为这可能会导致逻辑困惑(许多流行的库和框架都依赖于通过设置处理程序将错误转换为异常的错误报告)。

就可移植性而言,尽管使用了抑制错误的运算符,但它对性能的影响却是首选。

关于php - PHP : despite disabling all errors, copy() error message still displayed on page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40002808/

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