本教程主要演示xdebug在PhpStorm中配置方法。
一、环境说明
1.Mac笔记本(本教程演示过程使用的是Mac OS操作系统,和windows环境是有区别的,这一点需要特别注意);
2.在Mac笔记本上安装Docker,笔者安装的Docker版本信息如下:
3.Docker容器安装Centos,版本信息:
4.安装lnmp环境(nmp1.5.tar.gz),lnmp一键安装包下载地址:
5.安装xdebug(xdebug-2.6.1.tgz),下载链接:
6.PhpStorm开发软件(PhpStorm 2018.2.3),下载链接:
7.准备一个php项目,并导入到PhpStorm开发工具中,用户debug代码调试演示;
二、nginx的配置
三、xdebug在PhpStorm中的配置
1.[xdebug重点]安装好xdebug之后,在php.ini文件尾部添加如下内容,注意:xdebug.remote_host配置的是mac笔记本的IP地址,xdebug.idekey要和PhpStorm中配置的一致:
查看phpinfo检查xdebug扩展安装是否成功:
2.[xdebug重点]在PhpStorm中配置php debug,注意端口为9000,要和上面php.ini文件中的xdebug.remote_port一致:
3.[xdebug重点]在PhpStorm中配置php server,注意host和端口要和lnmp中配置的一致[本地调试一般配置成localhost即可],Debugger下拉框选择Xdebug,下面的File/Directory配置的是Mac笔记本磁盘上的php项目所在目录,而absolute path on the server配置的是Docker容器中的lnmp服务器上的php项目目录,这两个目录是可以在启动Docker容器的时候通过-v参数进行指定的。
IDE key输入"PHPSTORM",这个值要和下面步骤中浏览器debug插件配置的IDE key保持一致:
4.[xdebug重点]google浏览器安装xdebug插件
安装成功之后浏览器右上角会出现debug按钮,在安装上右键选择"选项",IDE key选择"PhpStrom",后面输入"PHPSTORM"点击save按钮即可:
启动debug,如果变成绿色说明启动成功:
5.PhpStorm中Docker的配置,主要是目录的映射配置,图中Virtual machine path配置的是Docker容器中php项目目录,而Local path配置的是Mac笔记本本地磁盘上php项目的目录:
6.配置好Docker之后,在PhpStorm的最下方可以找到Docker工具面板,点击绿色的启动按钮就可以启动Docker服务来:
Docker服务启动之后,可以管理Docker镜像和Docker容器,在指定的镜像上面点击右键可以创建容器,如下图所示,我基于sha256:f84360b124ec这个Docker镜像创建来一个名为yaf-xbs-container-tq的Docker容器:
7.创建容器时会弹出如下对话框,可以配置Docker容器相关的信息,主要是docker容器和Mac笔记本的ip地址、项目端口以及项目目录的映射方面的配置:
上图中的192.168.0.104:8888是我Mac笔记本的IP地址和项目端口,意思是,当我在笔记本上使用浏览器访问192.168.0.104:8888的时候,会访问到Docker容器8888端口。
8.点击上图右下角的run按钮,就可以启动Docker容器了,在右边的PortBindings选项卡可以编辑和添加宿主机和Docker容器之间的端口映射关系:
在VolumeBingdings选项卡可以编辑宿主机和Docker容器之间项目目录映射关系:
9.添加容器执行命令
启动Docker容器之后,在容器上点击右键选择exec,然后选择create即可创建容器执行命令,比如这里我添加了一个条重启lnmp的命令"lnmp restart":
点击OK,再次在容器上点击右键就能看到刚添加的Docker容器执行命令"lnmp restart",点击该命令就可以在容器中重启lnmp了。
10.[xdebug重点]启动debug监听
最后一步,一定要点击PhpStorm右上角对小电话图标来启动PhpStorm对Xdebug对监听,否则debug不生效:
11.在php项目代码中打断点,浏览器访问http://192.168.0.104:8888,即可触发PhpStorm对xdebug调试功能,自动进入debug模式。这里用到到php项目是yaf框架到最简单到demo。
12.浏览器响应结果(这里返回到是一个json格式的数据)