phpstorm 中使用xdebug进行调试无法进入断点

在安装配置成功xdebug后,下断点但调试的时候并没有进入断点这是怎么回事?
图片描述

我在这里配置了起始地址,在程序中下了相应断点
图片描述

可是当程序执行到断点位置时候并没有停止进入断点这是怎么回事

阅读 23.4k
7 个回答

这里有一种简单配置方式:

php配置

  • 在php.ini中加入配置:[这里只列入关键配置]

#开启远程调试
xdebug.remote_enable = 1  
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
#这个端口不占用phpfpm 的9000,换用另一个,一定要和上面phpstrom配置中的端口一致
xdebug.remote_port=9001
#开启自动开始调试
xdebug.remote_autostart=1
zend_extension=xdebug.so

phpstrom 配置

File --> Settings --> Languages & Frameworks -> PHP --> Debug
xdebug块
debug port 值和第一部的端口一致 9001

打开与关闭调试

  • phpstrom中选项:Run --> (Run/Stop) Listening for PHP debug Connections[图标是右下角一个小虫子的绿色电话话筒,在有上角最小化按钮附近默认也有快捷访问图标],这个就是打开关闭调试的按钮

xdebug.remote_autostart = 1

新手上路,请多包涵

这个端口不占用phpfpm 的9000,换用另一个,一定要和上面phpstrom配置中的端口一致

xdebug.remote_port=9001

开启自动开始调试

xdebug.remote_autostart=1

这两个地方很重要,php-fpm默认端口就是9000,所以换成9001
查询端口占用:
lsof -i tcp:9000

新手上路,请多包涵

在php.ini里开启xdebug日志
xdebug.remote_log="D:/AllProjects/project-bbs/xdebug.log"

然后查看日志信息,我配置的监听端口是9001(ide和php配置的都是9001),然鹅日志显示连接的是9000,而且连接不上
Connecting to configured address/port: localhost:9000.
could not connect to client.

很纳闷,于是将一切配置改成9000,成功进入断点...

都设置好了,也是不能进入断点:

新手上路,请多包涵

我本地用的phpstudy的集成环境,服务器使用apache的时候经常进入不了断点,将服务器换成nginx就可以进入断点了

新手上路,请多包涵

如果脚本运行完毕只是无法打断 也有可能是防火墙配置问题。Xdebug的回应本地接收不到。无法打断

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题