我的代码是:
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
答案 0 :(得分:1)
虽然更好的解决方案是修复未定义的变量问题,但您可以按照以下要求执行以下操作:
ini_set('log_errors', false);
echo $undefined_variable;
ini_set('log_errors', true);
同样,我强烈建议您解决问题(在使用之前定义变量或使用isset检查它),而不是屏蔽错误。