作者:霸气胡志刚_你活埋了木有 | 来源:互联网 | 2023-09-23 13:29
最近把本地环境切换成了docker的环境,便于快速运行和开发,确实比较给力,但是也遇到了问题,以前的本地xdebug断点调试都用不了,弄了几个小时终于搞定了docker还是坑多,绕
最近把本地环境切换成了docker的环境,便于快速运行和开发,确实比较给力,但是也遇到了问题,以前的本地xdebug断点调试都用不了,弄了几个小时终于搞定了
docker还是坑多,绕,下面把docker用xdebug调试的分享下
1.docker的php.init开启xdebug,xdebug.remote_host需配置为宿主机IP,xdebug.remote_port为远程调试的端口,这里配置为19001
[xdebug]
zend_extension="xdebug.so"
;是否开启远程调试
xdebug.remote_enable=1
;允许调试的客户端IP 这个一定要有
xdebug.remote_host=192.168.5.7
;远程调试的端口(默认9000)
xdebug.remote_port=19001
;是否开启调试内容
xdebug.profiler_enable=1
; 这个是约定的调试码,需要在phpstorm里面设定
xdebug.idekey=PHPSTORM
;调试插件dbgp
xdebug.remote_handler=dbgp
;是否开启异常跟踪
xdebug.show_exception_trace=1
;是否开启远程调试自动启动
xdebug.remote_autostart=1
2.docke的nginx的配置加入fastcgi_param REMOTE_ADDR "192.168.5.7", 配置为宿主机IP
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass master:9000;
fastcgi_index index.php;
#此项至关重要
fastcgi_param REMOTE_ADDR "192.168.5.7";
}
3.php配置Debug端口,Debug port需配置为php.ini里边指定的端口号
4.配置远程路径映射,如果不指定路径,有可能调试时找不到相应的文件
5.开启xdebug开关,就是一个电话开关
6.重新运行php和nginx的容器,即可进行断点调试
OK,这就完成了本地通过docker的xdebug断点调试!