核心:开启端口转发 ssh -NT -R 9001:127.0.0.1:9001 root@remote_ip
先总结下php开发背景。本人用的mac开发,用的ide是phpstorm,使用laradock的开发环境。php相比于java,c的有个最大弱点就是debug配置太麻烦,不像java开箱即用。
好了,本地开发debug,有必要,因为老是用dump输出太麻烦。具体配置看mac开发环境laradock下phpstorm的xdebug配置-本地篇
前后端分离,docker部署的情况下,我们把代码部署得到测试服务器了,debug相对比较麻烦了。我采用了服务器原生php来debug。简单来说,服务器虽然用了docker部署,但是debug的时候还是用服务器自带的php,php-fpm,nginx来debug。所以我们需要再给服务器安装php环境,然后nginx映射一个新的域名
具体可参考这篇文章:一文掌握PHP Xdebug 本地与远程调试
以下是我的配置,成功debug
最后开启端口转发:
ssh -NT -R 9001:127.0.0.1:9001 root@remote_ip
开启后是这样的
然后就可以debug了
比如用postman调试接口,这里注意要加
?XDEBUG_SESSION_START=PHPSTORM
比如:
但我发现有时候,远程会挂掉,比如开启端口的时候提示:
这种情况就是挂了,去服务器上找到9001对应的进程,kill掉就可以了。