安装xdebug扩展,然后增加php.ini里xdebug的配置
zend_extension=xdebug.so
xdebug.default_enable=0
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_connect_back=0
xdebug.cli_color=0
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9001
; 注意下面这一行是关键
xdebug.remote_host=host.docker.internal
xdebug.profiler_output_dir="/data/www/xdebug_profiler"
xdebug.idekey="PHPSTORM"
配置PHPStorm
PHP-Fpm模式的debug配置
- 配置xdebug相关,按照截图里的配就行


2. 增加Server,这里比较特殊的就是要勾选Use path mappings,然后在Absolute path on the server一栏里,填写物理机路径对应的docker映射目录的地址,这样phpstorm在接收到xdebug提供的文件路径后,就能根据映射转换成真实机的文件路径

3. 配置debug监听,新建一个Remote Debug的配置

PHP-fpm的监听模式已经配置好了,点击右上角虫子旁边的电话图标开启监听,然后打上断点,发一个http请求就能被phpstorm拦截到并成功断下来了
Cli命令行脚本调试
- 为PHPStorm配置一个Cli执行器,注意最重要的是截图中的5,同样的需要指定真实机和Docker容器文件的映射关系,这样PHPStorm才能找到断点对应的文件

2. 指定一下docker的配置文件地址,是docker-compose的话就指定docker-compose的配置文件地址,liftcycle我建议选exec模式,速度快,有些人是老版本的PHPStorm,没有这个选项,建议更新到最新版本

3. 配置debug,新增一个PHP Script的脚本,Interpreter里选择刚才新增的Cli执行器就行了

至此Cli命令行脚本调试也可以完成,打上断点,点击右上角的小虫子图标就可以开始调试了
发表评论