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

前提准备

phpstorm开发软件 + dnmp(docker + nginx + mysql +php)

  • 配置好hosts 映射比如 /etc/hosts      127.0.0.1 tp5.dev
  • 为现有的php环境安装好xdebug扩展,安装成功之后可以通过页面输出phpinfo()查看是否安装成功xdebug
  • 安装能够进行调试的ieda环境,一般对于php程序开发者来说,使用phpStorm较多,本文也是通过这个讲述。
  • 成熟的docker构建的环境。 可以使用https://github.com/yeszao/dnmp

配置xdebug

[XDebug]
;开启xdebug支持远程调试
xdebug.remote_enable=1
;远程调试的主机,一般都是docker宿主机器,本地调试就是本机,ip可以通过`docker inspect 容器名获得`
xdebug.remote_host=172.19.0.2
;远程调试机器的端口,一般是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_host 可以使用 docker inspect 查看php-fpm所在的容器的ip ,如果是mac的话可以使用host.docker.internal

  • xdebug.remote_port 一般跟php-fpm的端口一致就可以了。

配置完记得重启容器 docker restart 容器名称

配置phpStorm

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

配置xdebug的基础信息

打开setting->debug里面做如下配置,9000表示启动的端口,和上面的xdebug里面的保持一致。

再setting->server中做如下配置,下面的Use path mapping一定要勾选配置好,不然可能出现控制台能够看到调试,但是phpStorm断点拦截不到的情况。

一定要配置好use path mapping 映射本地目录和远程目录的对应的关系。

扫描二维码关注公众号,回复: 7050546 查看本文章

配置和启动一个xdebug程序,编辑配置。

再弹出框的左上角点击+号,增加一个PHP Remote Debug应用,选择刚刚上面创建的server(remoteDebug),然后Session id为PHPSTORM,和上面xdebug里面的保持一致。然后点击右下角Apply和OK。

最后把这个红色的×去掉。

参考文章: 

猜你喜欢

转载自www.cnblogs.com/tl542475736/p/11370416.html