关闭php/MySQL上的警告和错误

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (40)

我正在收到预期的通知和警告,并希望在我的php文件上关闭它们。错误如下:

Warning: fsockopen()

通告如下:

Notice: A non well formed numeric value encountered in

我计划在这个php脚本中使用cron,并且不希望在任何地方记录任何错误或通知。

提问于
用户回答回答于

error_reporting(E_ERROR);

在此之前,在编写脚本时,我建议正确地调试脚本,以便所有通知或警告都逐个消失。因此,应该首先使用以下内容尽可能详细地设置它:

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

更新:如何记录错误而不是如注释中所建议的那样显示错误,更好的解决方案是将错误记录到文件中,这样只有php开发人员才能看到错误消息,而不是用户。一个可能的实现是通过.htaccess文件实现的,如果不能访问php.ini文件

# supress php errors
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
# enable PHP error logging
php_flag  log_errors on
php_value error_log  /home/path/public_html/domain/PHP_errors.log
# prevent access to PHP error log
<Files PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>
用户回答回答于

Prepend函数具有“@”符号以抑制某些错误,而不是关闭所有错误报告。

PHP支持一个错误控制操作符:at符号(@)。在PHP中的表达式前面加上时,该表达式可能生成的任何错误消息都将被忽略。

@fsockopen();

扫码关注云+社区