对于一个写了多年php的程序猿来说debug是至关重要的,虽然目前公司的项目还用不上phpunit那种测试框架但是简单调试还是必要的可以让你事半功倍减少更多的隐藏bug。目前个人觉得php最好用的debug插件就是XDebug。但是在我今天部署这个插件时踩了一坑,那就是部署好php插件和vscode debug插件后打好断点按f5却直接跳过了断点直接执行整个文件。当然最后还是找到了解决方案,废话不多说下面就把我整个的搭建流程和填坑经历分享出来供大家参考。

宝塔php安装 xdebug插件 【安装完成点[服务]然后重启一下php】

宝塔+VScode+XDebug调试php部署方法与踩坑解决 for ubuntu 16.04_程序猿

安装VScode debug插件

宝塔+VScode+XDebug调试php部署方法与踩坑解决 for ubuntu 16.04_程序猿_02

VScode创建调试配置文件 【然后重启vscode】

在项目文件夹中的.vscode(如果没有这个文件夹就自己创建一下)文件夹中创建一个launch.json文件内容如下

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}

踩坑

当我做完上面这些步骤的时候在需要调试的文件中按f5 会发现无法正常进入调试,而生直接跳过断点执行整个文件。

解决方法

在php.ini 结尾添加几句配置即可,具体如下

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

然后就可以正常执行调试了