在PHP中删除警告消息

我有一些PHP代码。 当我运行它时,会出现一条警告消息。

我怎样才能删除/压制/忽略这些警告信息?

你真的应该修复引起警告的东西,但是你可以用error_reporting来控制错误的可见性。 要跳过警告消息,可以使用如下所示的内容:

error_reporting(E_ERROR | E_PARSE); 

你可以在你的函数调用前放一个@来抑制所有的错误信息。

 @yourFunctionHere(); 

在禁用所有其他错误报告的情况下禁止警告:

 error_reporting(E_ALL ^ E_WARNING); 

如果你不想显示警告以及错误使用

 // Turn off all error reporting error_reporting(0); 

错误报告 – PHP手册

不完全回答这个问题,但我认为在某些情况下这是一个更好的妥协:

由于第三方库中的printf()语句,我有一条警告消息。 我确切地知道原因是什么 – 第三方修复代码时临时解决。 我同意警告不应该被压制,但我不能向客户展示我的工作,并在屏幕上popup警告消息。 我的解决scheme

 printf('<div style="display:none">'); ...Third-party stuff here... printf('</div>'); 

警告仍然在页面源提醒我,但客户端不可见。

你可以使用error_reporting来抑制警告,但更好的方法是首先修复你的脚本。

如果你不知道如何,编辑你的问题,并向我们展示有问题的线路和显示的警告。

我认为更好的解决scheme是configuration.htaccess这样你就不必改变应用程序的代码。 这里是Apache2的指令

 php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_value docref_root 0 php_value docref_ext 0 

在核心PHP中隐藏警告消息设置error_reporting(0)在常见的包含文件或单个文件的顶部。

在WordPress的隐藏警告和通知在wp-config.php文件中添加以下代码

 ini_set('log_errors','On'); ini_set('display_errors','Off'); ini_set('error_reporting', E_ALL ); define('WP_DEBUG', false); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);