VSCode调试PHP环境配置

一、前言

这周学长给的任务需要调试 php,之前写的菜鸡代码出 bug 都是打印出来调试的,是时候规范一下了。另外 vscode 真好用!

 

二、Xdebug配置

php 集成环境和 vscode 装好之后,在浏览器访问 phpinfo 页面,然后全选复制到 https://xdebug.org/wizard,点击 Analyse my phpinfo() output 按钮,将得到的结果逐条执行

 

php.ini 文件还要再填加两项设置,这里我的设置和在网上查找的其他教程不同,可能是由于 xdebug 版本不同导致的,按照其他不成功设置的报错查找官方文档 https://xdebug.org/docs/upgrade_guide 得到的结果如下

xdebug.mode=debug
xdebug.start_with_request=yes

 

重启服务器,配置成功后 phpinfo 页面出现 xdebug 信息

 

三、VSCode配置

安装 php debug 插件,并在文件->首选项->设置->用户->扩展->php->在 setting.json 中编辑

 

这里改成 php.exe 路径,注意双斜线

{
    "php.validate.executablePath": "D:\\Major\\phpstudy_pro\\Extensions\\php\\php7.3.4nts\\php.exe"
}

 

www 目录下新建 phptest 文件夹,在文件夹下创建 debugtest.php 文件输入如下代码测试 debug 功能

<?php
for ($i=1; $i<=5; $i++)
{
    echo "The number is " . $i . "<br>";
}
?>

 

选择 Launch currently open script,打上断点,点击运行->启动调试,如果配置有问题,这里会显示报错信息,再根据报错信息调整,这里调试没问题之后选择 Listen for XDebug 选项,打上断点,浏览器刷新一下就可以看见 vscode 成功监听到调试(launch.json 默认 9000 端口,根据报错修改为 9003 端口)

 

四、其他细节

PHP Intelephense 插件方便跟进函数,但是插件要求 php 版本大于 7,且设置环境变量,安装完毕后 setting.json 设置如下

{
    "php.validate.executablePath": "D:\\Major\\phpstudy_pro\\Extensions\\php\\php7.3.4nts\\php.exe",
    "php.executablePath": "D:\\Major\\phpstudy_pro\\Extensions\\php\\php7.3.4nts\\php.exe"
}

 

phpstudy 在浏览器不显示目录时,修改 vhosts.conf 配置文件,将 Options FollowSymLinks ExecCGI 注释,添加 Options +Indexes +FollowSymLinks +ExecCGI 并重启apache

 

五、第二种方式

因为某种原因又重新配置了一次,换了种方式好像更容易一点,记录下来

phpstudy 这样设置

 

设置后,php.ini 出现 Xdebug 的内容(配置文件中 xdebug.remote_enable=Off 需要改为 On,再添加一行 xdebug.remote_autostart=On)

[Xdebug]
zend_extension=D:/Major/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.auto_trace=On
xdebug.trace_output_dir=D:/Major/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.trace
xdebug.profiler_enable=On
xdebug.profiler_output_dir=D:/Major/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.profiler
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

 

保存配置文件后重启一下 apache,再去 vscode 中设置,填上 xdebug 的端口

 

第一次配置的时候,下载的是 xdebug3,因为有一些配置名称已经更改,就会出现很多报错,使用默认的 php_xdebug.dll 可以避免这些问题,然后下断点,运行->启动调试,浏览器访问 php 文件,即可开始调试。

 

参考文章:

https://segmentfault.com/a/1190000019475551

https://www.cnblogs.com/neverth/p/11760932.html

https://www.cnblogs.com/-mrl/p/12214252.html

https://blog.csdn.net/qq_26605049/article/details/107626100?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-2&spm=1001.2101.3001.4242

https://zhuanlan.zhihu.com/p/113171737

 

posted @ 2020-12-02 21:25  beiwo  阅读(2615)  评论(0编辑  收藏  举报