是否可以检测到php产生错误的代码行?例如,当有通知警报时,它会返回:
Notice: Undefined index: XX in / home / YY.php on line 17.
如果您需要在通知文本中添加行,您可以使用__LINE__
too 或 also
$Line = debug_backtrace()[0]['line'];
如果你有 PHP 5.4 - 或者(如果你有旧的 PHP)
$Line = debug_backtrace();
$Line = $Line[0]['line'];
或者,如果您需要更多调试信息(当然,也可以在 PHP 5.4 中使用)
$Debug = debug_backtrace();
$Line = $Debug[0]['line'];
您也可以使用大于 0 的数字 - 但大多数情况下它是无用的。您还应该确保 debug_backtrace 给出的数组有多个项目(该数组也有键为 1 或更大的项目)。
您可以使用以下方式注册错误处理程序set_error_handler
:
set_error_handler(function($errno, $errstr, $errfile, $errline) {
$lines = file($errfile);
$line = $lines[$errline - 1];
print "Line with error: $line";
});