1.在Dockerfile中安装xdebug,我用的是PHP官方的fpm-alpine版本
ROM php:fpm-alpine
# 添加xdebug扩展
WORKDIR /usr/src/php/ext/
RUN wget http://xdebug.org/files/xdebug-3.0.3.tgz && tar zxvf xdebug-3.0.3.tgz && mv xdebug-3.0.3 xdebug && rm -f xdebug-3.0.3.tgz
# 修改源
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN /usr/local/bin/docker-php-ext-install pdo_mysql xdebug \
&& /usr/local/bin/docker-php-ext-enable pdo_mysql xdebug
想研究的就自己看,想直接干的就复制就行,不用改东西。注意一下版本就行
2.修改php.ini
[xdebug]
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20200930/xdebug.so
xdebug.show_exception_trace=On
xdebug.remote_handler=dbgp
xdebug.remote_autostart=Off
xdebug.remote_enable=On
xdebug.mode=debug
xdebug.remote_port=9001
xdebug.idekey=PHPSTORM
xdebug.remote_log=/tmp/xdebug_remote.log
xdebug.remote_connect_back=On
xdebug.remote_host= 10.0.0.232
xdebug.client_host = 10.0.0.232
把remote_host和client_host修改为宿主机的局域网IP。其他无需修改,然后重启php-fpm。
3.phpstorm中添加debug配置,如图
4.在server中添加配置,记住就改第一行就行,改为你本地的路径。服务器的写容器里的项目对于路径 【这里我想吐槽一下一些帖子。这里的路径为什么要打码。。。。】
5.这步我想你们都懂
6.使用postman测试。
完事。 不知道别人的为什么那么麻烦,完全自己撸出来的,有问题大家一起探讨