我的代码是:
function errors($number,$string,$file,$line)
{
$error = $string.' In '.$file.', on line '.$line."\n";
error_log($error);
}
set_error_handler('errors',E_ALL);
下一行停止显示错误,因为我正在使用
@
运算符。但是,我的问题是set_error_handler
在error.log
文件中写入了错误。echo @$undefined_variable; // I don't want to write this error in error.log file
最佳答案
尽管更好的解决方案是解决 undefined variable 问题,但是您可以按照以下要求进行操作:
ini_set('log_errors', false);
echo $undefined_variable;
ini_set('log_errors', true);
同样,我强烈敦促您解决问题(定义变量或在使用变量之前使用isset进行检查),而不要掩盖错误。
关于php - 使用@时跳过报告错误(错误控制运算符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22548707/