问题
我的 PHP 堆栈跟踪缩写为:
Stack trace:
#0 /www/html/table/app/create.php(128): SoapClient->__call('call', Array)
#1 /www/html/table/app/create.php(128): SoapClient->call('5e81ad4c12668ec...', 'table.ad...', Array)
预期结果
我想查看从命令行运行 php 时被 ... 隐藏的部分。如何让 php 显示完整消息?
您可以将其包围在
try ... catch
中,然后对异常执行 var_dump
。
try {
// the code that throws an exception
} catch ( Exception $e ) {
var_dump( $e->getTrace() );
}
有同样的问题;显然 PHP 默认情况下将堆栈跟踪中的参数限制为 15 个字节。在 8.0 PHP 中添加了一个新的 .ini 设置
zend.exception_string_param_max_len
来扩展默认设置。将以下内容添加到您的 php.ini 中,您应该去掉省略号:
zend.exception_string_param_max_len=4096
请注意,有一个选项
zend.exception_ignore_args=false
可以隐藏所有这些参数,因此请确保未启用该选项。请参阅本文了解完整详细信息。