【发布时间】:2021-10-17 21:26:35
【问题描述】:
我正在尝试使用 Xdebug 3.0 和 PhpStorm 2021.1 调试我的 Web 应用程序中的问题。我使用 Debian 10 在 WSL2 上进行设置,其中我安装了 Xdebug 并在 /etc/php/7.3/fpm/conf.d/20-xdebug.ini 中使用了以下设置:
zend_extension=xdebug.so xdebug.session=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=XXX.XX.XXX.X
xdebug.client_port=9000
xdebug.max_nestling_level=10000
xdebug.log="/var/log/xdebug.log"
xdebug.idekey=xdebug
我正在使用 Symfony 5.3,当我使用 symfony server:log 流式传输日志时,我收到了多个 Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms 的错误消息,但设置断点会正确停止我的 Web 应用程序。尝试修复此问题后,我现在在 PhpStorm 中收到以下错误:
“调试会话已完成而没有暂停这可能是由于路径映射配置错误或本地和远程项目未同步造成的。”
我已采取的步骤:
- 根据Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: localhost:9003在20-xdebug.ini中设置
xdebug.start_with_request=trigger成功修复超时警告信息 - 向控制器添加断点
- 在 Xdebug Chrome 扩展中启用调试
- 在 PhpStorm 中启用侦听 PHP 调试连接
- 导航到应该导致断点命中的视图
- 每个视图都停止执行(即使是那些在控制器中没有断点的视图),PhpStorm 调试器终端出现错误消息
Click to set up path mappings - 选中“使用路径映射”复选框以消除映射错误
我所期待的:
- 为了在遇到断点的事件期间停止执行我的网页和控制器。
实际结果:
- 每个网页都加载并且断点不会停止执行(我尝试了其他断点以确保它不是孤立的问题)
- 我在 PhpStorm 事件日志中收到“调试会话已完成且未暂停”警告。
我采取的进一步措施没有成功:
- 将触发器设置改回
xdebug.start_with_request=yes - 在路径映射设置中添加服务器上的绝对路径
支持内容:
我的问题的影响:
- 这使我无法诊断我的 Web 应用程序中的 CSRF 问题,我需要对其进行修改以获得功能登录表单。
非常感谢您的帮助!
【问题讨论】:
标签: php debugging phpstorm xdebug