mac php73 配置xdebug问题及vscode+浏览器调试图解配置
安装过程不再描述,网上很多。
php版本7.3.29
xdebug版本 3.1.4
php.ini中xdebug配置项要注意zend_extension 而不是extension
1 2 3 4 5 6 7 8 9 | [xdebug] zend_extension= "/usr/local/Cellar/php@7.3/7.3.29_1/pecl/20180731/xdebug.so" xdebug.mode=debug xdebug.start_with_request= yes xdebug.discover_client_host=On xdebug.collect_return=On xdebug.client_host=127.0.0.1 xdebug.client_port=9100 xdebug.idekey=afei |
不同版本xdebug配置项不同,比如我之前找的低版本配置项,启动php时会有警告。
浏览器调试配置图解
如下php.ini配置项需打开:
1 | xdebug.discover_client_host=On |
老版本配置项:
1 | xdebug.remote_enable=on |
首先用vscode 打开一个项目,一般php项目的index.php 都放在 project/public/ 或者 project/html/目录下 类似如下:
打开vscode的xdebug扩展(没有的在扩展商店搜索安装),点击创建launch.json文件
点击后会在工程内.vscode 文件夹下自动创建
然后找到Launch Built-in web server 这一项,修改运行此项目的本地端口为空闲端口 如8088;修改cwd目录,默认指向工作区根目录,因为我们的index.php 在html下 所以要加/html 两外跟同cwd同级的port 配置的是php.ini 中xdebug.client_port的值 我的是9100
修改后如下,点击左侧的下拉 选择 Built-in web 点运行
如果成功,在vscode 底部状态栏会多一条xdebug的状态
此时我们在index.php 文件中增加断点(真正调试时将断点设在需要调试的逻辑代码位置),点击代码位置即可:
浏览器中输入网址127.0.0.1:8088或者localhost:8088访问,此时电脑桌面会由浏览器自动跳到vscode的代码断点处,断点多了一个位置标记,左侧有变量信息。如下图:
以上流程说明配置生效,可结合浏览器进行调试了。结合右侧窗口的调试工具栏:
根据需要单步 步进 步出调试。
记录:
启动远程监听时,先启动ide(vscode)的xdebug监听,再启动远程的fpm(我使用的php artisan serve和php -S),否则出现提示,导致远程调试失败。
文字均为博主原创,转载请联系博主,谢谢!
分类:
php
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?