是否有可能检测到php生成错误的代码行? 例如,当有“通知”警报时,它将返回:
Notice: Undefined index: XX in / home / YY.php on line 17.
答案 0 :(得分:0)
您可以使用set_error_handler
注册错误处理程序:
set_error_handler(function($errno, $errstr, $errfile, $errline) {
$lines = file($errfile);
$line = $lines[$errline - 1];
print "Line with error: $line";
});
答案 1 :(得分:0)
如果您需要在通知文本中放置行,您也可以使用__LINE__
或
$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或更大的项目)。