【运维笔记】Hyperf正常情况下Xdebug报错死循环解决办法

问题描述

在使用hyperf进行数据库迁移时,迁移报错:

【运维笔记】Hyperf正常情况下Xdebug报错死循环解决办法_第1张图片

查看报错信息,错误描述是Xdebug检测到死循环,可是打印的堆栈确实正常堆栈,没看到死循环。

寻求解决

gpt

【运维笔记】Hyperf正常情况下Xdebug报错死循环解决办法_第2张图片

说的跟没说一样。。

google一下

直接把报错信息粘贴上去:

【运维笔记】Hyperf正常情况下Xdebug报错死循环解决办法_第3张图片

不愧是最强搜索引擎google,第一个结果就是我们想要的

不愧是最好的cs问答平台Stack Overflow,第一个答案就是我们的解决方法。

解决方法

在php.ini中编辑

xdebug.max_nesting_level=512
max_execution_time = 600

【运维笔记】Hyperf正常情况下Xdebug报错死循环解决办法_第4张图片

xdebug.max_nesting_level是堆栈深度限制,原先是256,现在改成512,

max_execution_time 是执行超时时间,这里设置为十分钟(?)

验证效果

file

成功执行数据库迁移

你可能感兴趣的:(php,笔记,php)