我正在尝试使用Xdebug 3.0和PhpStorm 2021.1调试Web应用程序中的问题。我使用Debian 10在WSL 2上设置,其中我安装了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中收到以下错误:
“调试会话已完成,但未暂停这可能是由于路径Map配置错误或本地和远程项目未同步所致。”
我采取的步骤:
- 根据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 Debugger终端出现错误消息
Click to set up path mappings
- 选中了“使用路径Map”复选框,从而删除了Map错误
我期待的是:
- 让我的网页和控制器的执行在断点被命中的事件期间停止。
实际结果:
- 加载每个网页时,断点不会停止执行(我尝试了其他断点,以确保这不是一个孤立的问题)
- 我在PhpStorm事件日志中收到“Debug session was finished without being paused”警告。
我采取的进一步措施没有成功:
- 将触发器设置更改回
xdebug.start_with_request=yes
- 在路径Map设置中添加服务器上的绝对路径
支持内容:
事件日志消息x1c 0d1x
PhpStorm Xdebug设置
我的问题的影响:
- 它阻止我在我的Web应用程序中诊断CSRF问题,我需要修改该应用程序以获得功能性登录表单。
非常感谢您的帮助!
2条答案
按热度按时间ss2ws0br1#
我提供了很多细节在我的问题,但它原来是一个非常简单的答案...经典!
对于其他人,我所做的只是该高速缓存无效并重新启动PHPStorm
1.转到文件〉无效缓存...
1.选中“清除下载的共享索引”
1.单击“无效并重新启动”
结果:
我希望这是有帮助的。
11dmarpk2#
接受的答案对我不起作用,但以下是:
1.选择相应的服务器
1.“使用路径Map”已被选中。我的设置是本地的,所以这是不正确的。取消选中使它检测到调试会话。