mac php73 配置xdebug问题及vscode+浏览器调试图解配置

安装过程不再描述,网上很多。

php版本7.3.29

xdebug版本 3.1.4

 

php.ini中xdebug配置项要注意zend_extension 而不是extension

[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配置项需打开:

xdebug.discover_client_host=On

 老版本配置项:

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),否则出现提示,导致远程调试失败。

 

posted @ 2022-05-03 12:05  阿飞afei  阅读(459)  评论(0编辑  收藏  举报