如何配置Xdebug调试Elm SPA调用的XmlHttpRequest PHP文件?
调试Elm SPA调用的PHP文件配置方案
针对你遇到的仅部分文件能触发断点、多会话调试异常的问题,结合Xdebug + Sublime Xdebug Client环境,从以下维度调整配置即可实现需求:
一、优化PHP.ini的Xdebug配置
修改php.ini中的Xdebug参数,确保调试会话稳定且能被Sublime正确捕获:
[xdebug] zend_extension=/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20200930/xdebug.so xdebug.mode=debug xdebug.client_port=9000 xdebug.client_host=127.0.0.1 xdebug.discover_client_host=1 xdebug.idekey=sublime.xdebug xdebug.start_with_request=trigger xdebug.log=/Applications/XAMPP/xamppfiles/logs/xdebug.log
修改后重启Apache/Nginx服务。
二、完善Sublime项目配置
更新.sublime-project文件,重点添加路径映射解决文件路径不匹配导致的断点失效,同时配置自动停在首行:
{ "folders": [ { "follow_symlinks": true, "path": "." } ], "settings": { "xdebug": { "url": "http://localhost/GDAS/GDASExhibitors", "idekey": "sublime.xdebug", "port": 9000, "path_mapping": { "/Applications/XAMPP/xamppfiles/htdocs/GDAS/GDASExhibitors": "${project_path}" }, "break_on_start": true } } }
注意:path_mapping的键是服务器上PHP文件的绝对路径,值是本地Sublime项目的根路径,必须完全对应。
三、配置Sublime Xdebug Client全局设置
打开Preferences > Package Settings > Xdebug Client > Settings - User,添加以下配置适配多会话场景:
{ "ide_key": "sublime.xdebug", "port": 9000, "break_on_start": true, "auto_connect": true, "allow_multiple_sessions": true }
四、调试操作说明
- 触发调试:因为设置了
xdebug.start_with_request=trigger,需要在Elm的XmlHttpRequest请求中携带XDEBUG_SESSION_START=sublime.xdebug参数,或用浏览器调试插件开启调试模式。 - 会话切换:SPA多请求会生成多个调试会话,可通过
Tools > Xdebug > Sessions菜单切换不同请求的调试上下文。 - 调试快捷键:默认
F5启动/继续、F6单步、F7步入、F8步出、Shift+F5停止调试。
内容的提问来源于stack exchange,提问作者Charles Looker
相关产品推荐
相关产品推荐

