一、接口调试
1,配置dicker里面的php.ini,有可能docker里的针对xdebug的单独ini,例如/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
#生产环境严禁使用xdebug
xdebug.remote_enable=1
#如果环境是mac+docker,那宿主机IP可以使用docker.for.mac.localhost来代表
#其他情况填写本机IP地址(本机局域网IP)
xdebug.remote_host=docker.for.mac.localhost
#xdebug默认的端口是9000,与php-fpm默认的9000冲突,要避免冲突
xdebug.remote_port=9012
#IDEKEY可以自定义,我们使用PHPSTORM
xdebug.idekey=PHPSTORM
2,配置phpstorm,设置Xdebug端口
#设置路径
PhpStorm-->Preferences-->Languages & Frameworks-->PHP-->Debug
3,配置phpstorm,设置Servers
#设置路径
PhpStorm-->Preferences-->Languages & Frameworks-->PHP-->Debug-->Servers
#Host即本机配置的应用访问域名
#Use path mappings
#由于我们使用的是docker,Project files的Absolute path on the server的地址即php容器中代码的地址
4,配置phpstorm,配置configurations
点击phpstorm右上角电话左侧的Edit Configurations
点击弹窗左上角的➕,选择PHP Remote Debug
配置中Server选择在上面第3步配置的servers
IDE key输入我们在第1步在php.ini配置的xdebug.idekey PHPSTORM
5,chrome浏览器安装Xdebug helper
6,配置Xdebug helper
在chrome打开扩展程序,找到Xdebug helper,点击详细信息,再点击扩展程序选项,配置IDEKEY为PHPSTORM
7,如果访问不了chrome网上应用商店,可以访问https://www.jetbrains.com/phpstorm/marklets/
填写php.ini中配置的idekey即PHPSTORM,点击GENERATE,将start debugger和stop debugger按住拖到书签栏
8,开启调试
chrome开启Xdebug helper,选择Debug
如果选择的是第7步,则在书签栏里点击start debugger,停止调试则点击stop debugger
phpstorm选择configuration,这里我们选择第4步配置好的configuration即bgs
点击电话,点击小虫子,小虫子亮起
程序里打好断点
chrome地址栏里输入接口地址即可调试
9 利用postman调试
除了利用chrome调试,还可以利用postman调试
开启phpstorm的电话,点亮小虫子,鼠标向下移动一点,phpstorm上即会看到浏览器图标
点击任意一个浏览器图标,例如chrome,则会打开一个chrome地址
这里我们要用到地址栏的地址的端口和后面的参数
上面的地址栏端口是63342,参数_ijt=lrvas8itfhv7bdtlj0c05l0hlm
在postman调试我们的接口
即XDEBUG_SESSION_START对应的值是上面地址栏的端口63342
另外还要带上_ijt=lrvas8itfhv7bdtlj0c05l0hlm
在phpstorm打好断点即可调试
phpstorm关闭调试后再次打开,XDEBUG_SESSION_START需要调试的端口一般不变,但_ijt的值会变
利用postman再次调试接口需要使用新的_ijt