phpStorm中使用xdebug工具调试docker容器中的程序
Posted tl542475736
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
-
配置完记得重启容器 docker restart 容器名称
配置phpStorm
主要包括配置基础debug,配置server,启动debug等几个步骤。
配置xdebug的基础信息
打开setting->debug里面做如下配置,9000表示启动的端口,和上面的xdebug里面的保持一致。
再setting->server中做如下配置,下面的Use path mapping一定要勾选配置好,不然可能出现控制台能够看到调试,但是phpStorm断点拦截不到的情况。
一定要配置好use path mapping 映射本地目录和远程目录的对应的关系。
配置和启动一个xdebug程序,编辑配置。
再弹出框的左上角点击+号,增加一个PHP Remote Debug应用,选择刚刚上面创建的server(remoteDebug),然后Session id为PHPSTORM,和上面xdebug里面的保持一致。然后点击右下角Apply和OK。
最后把这个红色的×去掉。
参考文章:
- https://blog.csdn.net/qq_21891743/article/details/90716941
- https://www.awaimai.com/2746.html
- https://github.com/yeszao/dnmp
以上是关于phpStorm中使用xdebug工具调试docker容器中的程序的主要内容,如果未能解决你的问题,请参考以下文章
PHPSTORM2020.1+Xdebug2.9.8远程调试