展开PHP堆栈跟踪参数

时间:2010-12-22 18:17:16

标签: php arguments stack-trace

在开发中的PHP应用程序返回的堆栈跟踪中,当在错误页面上显示时,函数的长字符串参数将被截断:

Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO "tb...', Array)

如何展开查询参数以使全文可见?服务器正在运行PHP 5.3.3。

2 个答案:

答案 0 :(得分:5)

请改用debug_backtrace。据我所知,它会给你整个跟踪并且不会修改参数。

再想一想:你可以使用

来逃避它
try {
   ...
} catch (Exception $e)
   var_dump($e->getTrace());
}

代替。

答案 1 :(得分:0)

Starting with PHP 8.0 实际上可以提高参数被截断的限制。

您可以更改新引入的 php.ini 设置 zend.exception_string_param_max_len 并将其设置为 0 到 1000000 之间的任何值,默认值为 15。

这只会影响使用 getTraceAsString() 或通过将异常转换为字符串(例如,通过打印)生成的堆栈跟踪。

更多信息可用 herein the corresponding RFC