在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);