写代码总是需要调试的,但是除了UnitTest,我们还是需要使用Xdebug进行调试。那么今天就来说说如何基于本地Docker环境使用Xdebug。这里的用法分别集成到VSCode和PHPStorm中。安装Xdebug依然是基于神级利器——Laradock。下面就来看看Laradock官网如何安装Xdebug吧。安装xDebug#1-首先在工作区和PHP-FPM容器中安装xDebug:a)打开.env文件b)在工作区容器下搜索WORKSPACE_INSTALL_XDEBUG参数c)将其设置为trued)在下搜索PHP_FPM_INSTALL_XDEBUG参数PHP-FPM容器e)设置为true2-重新构建容器docker-composebuildworkspacephp-fpm参考:https://laradock.io/documentation/#install-xdebug我们修改对应的地方,然后构建,如果出现如下错误信息:尝试添加国内源:RUNsed-is@/archive.ubuntu.com/@/mirrors.aliyun.com/@g/etc/apt/sources.listre-docker-composeup-dnginx后,在Windows/Mac下使用命令./php-fpm/xdebugstatus查看安装状态:配置Xdebug,当前使用IDE开发。个人觉得最常用的是VSCode和PHPStorm。那么我们就分别用这两个IDE来谈谈Xdebug的使用方法吧。VSCodeVSCode下,如果没有安装Xdebug插件,直接搜索安装即可:安装完成后,添加Xdebug环境配置:这样在.vscode文件夹下会有一个Xdebug配置文件launch.json项目的,并且我们配置端口号和php-fpm下的Xdebug保持一致,我们配置pathMappings将docker下的项目路径和本地项目路径相关联。具体如下:{"version":"0.2.0","configurations":[{"name":"XDebug监听Laradock","log":true,"type":"php","request":"launch","port":9000,"pathMappings":{"/var/www/myrss":"${workspaceFolder}",}},{"name":"启动当前打开的脚本","type":"php","request":"launch","program":"${file}","cwd":"${fileDirname}","port":9000}]}OK,我们启动XDebug,打印出以下内容表示等待请求:我们写一个demo,打个断点:Artisan::command('hello',function(){$i=0;$i++;return"hello".$i;});然后启动Xdebug,执行命令:phpartisanhello我们可以看到很多输入、输出、断点等信息:其中,我们还可以看到变量$i此时处于未初始化状态:wecontinueat此断点执行:Mac或Windows10下PHPStorm下Docker默认ip为:10.0.75.1。我们先添加一个Server,其中:Name:laradockHost:10.0.75.1mappings,相当于上面VSCode中配置的pathMappings。然后,就可以新建一个PHPRemoteDebug,其中:Server:与上面搭建的关联laradockIDEkey:与Laradock的php-fpm中的配置保持一致即可。我们可以使用demo,打个断点,运行Debug和waitforrequest::一样,执行命令:phpartisanhello:let'scontinueGo:总结并善用Xdebug,了解各个变量的动态变化在方法上更直观,可以提高我们对代码问题的跟踪和排查。至于下一步如何更好的使用Xdebug,就看各家的实际项目和开发需求了。请参阅使用适用于Mac的Docker和PHPStorm使用PHPUnit设置xDebughttps://intellij-support.jetbrains.com/hc/en-us/community/posts/360000229624-Setting-up-xDebug-with-PHPUnit-使用-Docker-for-Mac-and-PHPStormLaradock+XDebug+MS代码?没问题https://medium.com/full-stack-development/laradock-xdebug-ms-code-no-problem-35a4338deb3fLaradock'sxdebugonvscode使用的配置https://www.itread01.com/content/1526278934.html如何在laradock环境下设置VSCodeXDebughttps://blog.scottchayaa.com/post/2018/10/16/vscode-phpunit-on-laradock/
