我希望能够获取发生NOTICE错误的实际代码行(不是数字,代码行文本)。有没有办法实现这个目标?我似乎无法找到一个函数,它将返回当前正在运行的脚本中某行#的代码。
答案 0 :(得分:1)
假设PHP脚本有权读取当前文件,您可以这样做:
<?php
echo $b; // Undefined variable
$errors = error_get_last();
$errorMessage = $errors['message'];
$pathToScript = $errors['file'];
$line = $errors['line'];
$arrayOfLines = file(__FILE__);
echo "The error message was: '$errorMessage occured in $pathToScript'";
echo "The line of code that caused the error is: \n";
highlight_string($arrayOfLines[$line-1]);
输出:
错误消息是:&#39;未定义的变量:b出现在/path/to/script.php'
导致错误的代码行是:
echo $b;