xdebug 卡死,可以加入第一行,但是不能往下调试

环境

  • 系统: imac macOS Catalina 10.15.7
  • ide:phpstorm2017.3
  • php:7.2
  • nginx:1.4.2

操作

  • 之前一切好好的,因为重新部署了mysql容器,导致PHP容器起不来,重新部署了php容器(本地有很多php自编的镜像,部署的不是之前的版本)

现象

  • 不开启xdebug,接口正常返回数据
  • 可以debug进入代码的第一行断点,但是按F8继续往下走的时候就卡死了
  • nginx 返回504 Gateway Time-out
    在这里插入图片描述

问题查找

  • 以为是翻墙、代理的问题,因为我会同时开翻墙和抓包的代理,之前出现过不能断点的问题,恢复网络设置还是没解决
  • 以为是容器的网络问题,用ping发现没问题,然后重新部署了是有容器还是有问题
  • 求助bing,找到xdebug works only with first line,发现是phpstorm2017和xdebug的版本问题,我的版本是xdebug2.9.1,和phpstorm2017配合有问题

解决办法

  • 把xdebug2.9.1降到2.6.0
  • 如果是phpstorm2019或2018可以用xdebug2.9的版本

版权声明:本文为SakuraLLj原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。