有没有办法阻止HTML警告?

时间:2012-01-23 17:44:32

标签: php html

正如标题所述:

Warning: getimagesize failed to open, etc

有没有办法忽略这些,这意味着不打印它们?原因是,我基本上不在乎,它们非常罕见,我显然在测试时做了,但是当这样做时,我宁愿设置代码给我发电子邮件,而不是向用户发送一条很难看的消息。

这个问题适用于顺便提一下的任何警告。

5 个答案:

答案 0 :(得分:6)

有几种不同的方式:

  • 设置custom error handler(最好的方式,让你做一些有用的事情,比如将错误通过电子邮件发送给自己)
  • ini_set('display_errors', false);
  • 完全通过@运算符出现Surpress错误:@getimagesize(...);

答案 1 :(得分:2)

存在多种方式,这里有一些......

error_reporting(0); //Will hide all errors from hapenning

最终,您只能关闭E_WARNING,但这需要一些布尔数学才能从当前的error_reporting()设置中仅排除E_WARNING。

另一种方法是在你希望隐藏错误的操作前加上@符号:

$returnvalue = @getimagesize($params);

这样可以防止错误显示......

最后一种方法是使用以下方式关闭错误显示:

ini_set('display_errors', 0);

但是这样,所有错误,警告,通知都被隐藏了。它们仍然会登录到错误日志文件中。

我可能想要给你的最后一个警告是,从不编码,可能会出错。总有一些验证你可以做,应该做。关闭错误或忽略它们通常是不好的,当你试图解决问题时可能会导致困难,因为你决定只是隐藏潜在的错误而产生的问题。

祝你好运

答案 2 :(得分:1)

它们是php错误,您可以通过更改PHP INI设置来关闭它们,搜索display_errors

display_errors = Off

答案 3 :(得分:0)

我假设这里涉及一些PHP。您可以通过配置php.ini(php配置文件)文件来更改错误报告。您可以关闭错误报告,将其保留以显示警告和通知,将其置于错误状态或将其保留为开启状态。

通知和警告不会导致重大问题或使脚本无法运行。但致命错误会阻止脚本运行。

所以在你的php.ini文件中,找一下这行:

error_reporting = E_ERROR,并将其更改为以下之一或组合:

E_ALL             - All errors and warnings
E_ERROR           - fatal run-time errors
E_WARNING         - run-time warnings (non-fatal errors)
E_PARSE           - compile-time parse errors
E_NOTICE          - run-time notices (these are warnings which often result
                  from a bug in your code, but it's possible that it was
                  intentional (e.g., using an uninitialized variable and
                  relying on the fact it's automatically initialized to an
                  empty string)
E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
                  initial startup
E_COMPILE_ERROR   - fatal compile-time errors
E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
E_USER_ERROR      - user-generated error message
E_USER_WARNING    - user-generated warning message
E_USER_NOTICE     - user-generated notice message

通过将值设置为E_ERROR,将不会显示警告和通知。只会显示错误。

答案 4 :(得分:0)

您可以使用error_reporting(0);

在您的网页中

,或者您也可以使用.htaccess文件和php.ini来设置错误报告。