前提准备
为现有的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自动断点。