加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP在异常堆栈跟踪中切断了部分长参数.怎么告诉它不要?

发布时间:2020-12-13 22:27:50 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 How to disable PHP cutting off parts of long arguments in exception stack trace?????????????????????????????????????2个 下面是PHP 7运行时的错误消息示例: PHP Fatal error: Uncaught Error: Class ‘PredisConnectionConnectionExc
参见英文答案 > How to disable PHP cutting off parts of long arguments in exception stack trace?????????????????????????????????????2个
下面是PHP 7运行时的错误消息示例:

PHP Fatal error: Uncaught Error: Class
‘PredisConnectionConnectionException’ not found in predis.php:4168

Stack trace:

#0 /var/www/api/libraries/predis/predis.php(4455):
PredisConnectionAbstractConnection->onConnectionError(‘Error while
rea…’)

注意标记为#0的第一个堆栈跟踪线中的省略号:

(‘Error while rea…’)

如果没有被切断的话,这就是最重要的信息.其他错误消息具有相同的问题,通常会切断消息中非常有价值的部分.

是否有可用于在堆栈跟踪中打印更多信息的设置?我们使用的PHP的确切版本是7.1.1.

更新我们所遇到的确切问题在How to disable PHP cutting off parts of long arguments in exception stack trace?中有所描述.这个问题可以被关闭.想法是捕获异常,调用Exception :: getTrace()并手动构造错误消息.可以在全局处理程序或每个try / catch块中捕获异常. Exception :: getTraceAsString的默认实现截断了长函数参数.

解决方法

如果在try {…} catch(Exception $e){…}块中包装可能失败的调用,则可以根据需要显示尽可能多的异常错误消息.

您还可以控制代码对错误所做的操作,或者有助于在将来更好地避免此问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读