phpStorm中使用xdebug工具调试docker容器中的程序

最近使用了docker容器来构建项目,这种方式虽然极大的加快了构建的项目速度,但是也会对之前的本地开发带来一些挑战,比如今天讲到的调试程序,大家对于xdebug一定不会陌生,但是如果php-fpm放到了容器里面,又该如何进行远程debug呢,今天就来解决这个问题。

前提准备
  • 为现有的php环境安装好xdebug扩展,安装成功之后可以通过页面输出phpinfo()查看是否安装成功xdebug。
    在这里插入图片描述
  • 安装能够进行调试的ieda环境,一般对于php程序开发者来说,使用phpStorm较多,本文也是通过这个讲述。
  • 成熟的docker构建的环境。
开始配置

1、在容器中配置好xdebug支持,这个取决于php的版本,有的版本有单独的xdebug.ini配置文件,有的需要在php.ini的结尾添加以下信息:

;开启xdebug支持远程调试
xdebug.remote_enable=1
;远程调试的主机,一般都是docker宿主机器,本地调试就是本机,ip可以通过`docker inspect 容器名获得`
xdebug.remote_host=172.23.0.1
;远程调试机器的端口,一般是9000,和后面讲到的phpStorm里面保持一致
xdebug.remote_port=9000
;idekey 对接调试的密钥,和后面phpStorm里面的务必保持一致
xdebug.idekey=PHPSTORM
;自动触发调试,可以将这个值设为1;
xdebug.remote_autostart=1
;更多参数介绍请参见这里 https://xdebug.org/docs/all_settings
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.max_nesting_level=250
xdebug.remote_log='/var/www/xdebug_logs/xdebug_docker.log'

2、重启容器 docker restart 容器名称

3、配置phpStorm,主要包括配置基础debug,配置server,启动debug等几个步骤。

  • 配置xdebug的基础信息打开setting->debug里面做如下配置,9000表示启动的端口,和上面的xdebug里面的保持一致。
    在这里插入图片描述
  • setting->server中做如下配置,下面的Use path mapping一定要勾选配置好,不然可能出现控制台能够看到调试,但是phpStorm断点拦截不到的情况。
    在这里插入图片描述
  • 配置和启动一个xdebug程序,编辑配置。
    在这里插入图片描述
  • 再弹出框的左上角点击+号,增加一个PHP Remote Debug应用,选择刚刚上面创建的server(remoteDebug),然后Session id为PHPSTORM,和上面xdebug里面的保持一致。然后点击右下角Apply和OK。
    在这里插入图片描述
  • 倒数第二步,开启xdebug监听,先点击电话,然后点击甲壳虫,直到显示为下面这个状态
    在这里插入图片描述
  • 最后打开浏览器访问网站,phpStorm自动断点。
    在这里插入图片描述
    windows docker desktop 下调试 参考 https://segmentfault.com/a/1190000022269173 https://learnku.com/articles/32746

每天进步一点点,更多精彩内容,欢迎关注公众号“编程社”!!!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑夜开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值