注意 Symfony 上传文件中来自 PHP 的警告

Notice warning from PHP in Symfony uploading file

我有一个表单允许同时上传三个文件,但只需要一个。效果很好,我唯一的问题如下:如果我上传三个文件,我没有任何问题,但如果我上传一个或两个文件(留下两个或一个文件为空),我会收到以下通知:

Notice: No file uploaded in Unknown on line 0

与空文件一样多。文件已正确上传,没有任何其他问题,但我想删除该通知......或者除非隐藏它,尽管我更喜欢删除它。我试图使用

隐藏它
error_reporting(0);

ini_set('display_errors',0);

但是两个都没有用...

这是我第一次遇到问题,如果有人能引导我,我将非常感激,因为我一直坚持下去。

或许您还需要设置

 ini_set('error_reporting', 0);

取决于您的 php ini 配置?

还要确保在执行任何代码之前设置它。

The Error itself is caused by running a Debug version of PHP 7, see the bug report. As noted by HPierce because it was a Debug build it overrides the usual PHP settings for error_reporting. However as the Original question is actually about how to hide certain [expected] error messages (Notices), my answer is to this detail specifically.

Kevin,隐藏您在问题中列出的错误的尝试方法通常适用于非调试 PHP 构建。然而,忽略错误而不是从源头上解决错误是不明智的。仅仅因为预期的错误出现而隐藏 all 错误也是(更)不明智的。

因为这只是一个通知,您可以通过如下设置 error_reporting() 值来解决它:

//report all errors except notices. 
error_reporting(E_ALL & ~E_NOTICE);

我认为这比完全关闭错误报告要明智得多 不推荐。如果您想停止将错误输出到浏览器(如 Tina 所引用),您可以使用 display_errors.

如果您遇到与我相同的问题,请检查 phpinfo() 是否使用 PHP 的调试版本。如果您看到 Debug Build 的值为 yes,那么如果您安装 PHP 的实时版本而不是调试版本

,您的问题就会得到解决