关闭 PHP 和 MySQL 上的警告和错误
我收到预期的通知和警告,并希望在我的PHP文件中关闭它们。错误是:
Warning: fsockopen()
通知是:
Notice: A non well formed numeric value encountered in
我计划将cron用于此PHP脚本,并且不希望在任何地方记录任何错误或通知。
我收到预期的通知和警告,并希望在我的PHP文件中关闭它们。错误是:
Warning: fsockopen()
通知是:
Notice: A non well formed numeric value encountered in
我计划将cron用于此PHP脚本,并且不希望在任何地方记录任何错误或通知。
当您确定脚本完全正常工作时,可以删除警告和通知,如下所示:将此行放在PHP脚本的开头:
error_reporting(E_ERROR);
在此之前,在处理脚本时,我建议您正确调试脚本,以便所有通知或警告逐个消失。
因此,您应该首先使用以下命令将其设置为尽可能详细:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
更新:如何记录错误而不是显示错误
正如注释中所建议的那样,更好的解决方案是将错误记录到文件中,以便只有PHP开发人员才能看到错误消息,而不会看到用户。
一个可能的实现是通过.htaccess文件,如果您无法访问php.ini文件(源),则非常有用。
# Suppress 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>
在函数前面加上“@”符号以抑制某些错误,而不是关闭所有错误报告。
更多信息: http://php.net/manual/en/language.operators.errorcontrol.php
PHP 支持一个错误控制运算符:at 符号 (@)。在 PHP 中附加到表达式之前时,该表达式可能生成的任何错误消息都将被忽略。
@fsockopen();