如何禁用PHP切断异常堆栈跟踪中长参数的部分?
2022-08-30 23:35:32
有时会发生这样的事情:
#0 /some/path(1): Class_Name->exception_trigger()
#1 /some/other/path(5): get_to('/some/long/path/tha...')
如何查看所有内容的完整参数?
有时会发生这样的事情:
#0 /some/path(1): Class_Name->exception_trigger()
#1 /some/other/path(5): get_to('/some/long/path/tha...')
如何查看所有内容的完整参数?
您必须替换未捕获的异常处理程序。例:
function exception_handler($exception) {
$i = 0;
foreach ($exception->getTrace() as $frame) {
echo sprintf("#%d %s(%d): %s(%s)\n",
$i++, $frame["file"], $frame["line"],
$frame["function"],
implode(", ", array_map(
function ($e) { return var_export($e, true); }, $frame["args"])));
}
}
set_exception_handler('exception_handler');
现在,您将获得如下内容:
#0 /home/glopes/a.php(21): a('loooooooooooooooooooooooooooooooooong argument') #1 /home/glopes/a.php(24): b()