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),否则出现提示,导致远程调试失败。
文字均为博主原创,转载请联系博主,谢谢!