欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > docker环境中配置phpstorm php xdebug调试工具

docker环境中配置phpstorm php xdebug调试工具

2024/10/25 0:34:22 来源:https://blog.csdn.net/qq_24909089/article/details/139683806  浏览:    关键词:docker环境中配置phpstorm php xdebug调试工具

本文介绍需要有docker使用的经验,通过docker compose up 运行项目实现xdebug断点的使用方式

第一步:在php镜像中安装phpxdebug扩展,比如php7.4对应的是xdebug3.1.6

$ docker exec -it 1ec7116eddbc bash
root@1ec7116eddbc:/srv# php --version
PHP 7.4.33 (cli) (built: Sep  4 2023 08:12:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologieswith Zend OPcache v7.4.33, Copyright (c), by Zend Technologieswith Xdebug v3.1.6, Copyright (c) 2002-2022, by Derick Rethans
root@1ec7116eddbc:/srv# 

第二步:设置项目中的docker-compose.yml

docker-compose 增加开启xdebug的环境变量,host.docker.internal是宿主机的地址,也就是你本地局域网的ip,也可以直接写成 ip:9100

注意,xdebug。client_host的值应该替换为PhpStorm运行的机器的IP地址,该IP地址可以从Docker容器访问。如果您使用的是Docker for Windows或Docker for Mac,则可以设置xdebug。Client_host到host.docker.internal,它会自动解析到主机的内部地址,让您可以轻松地从容器连接到它。

environment:PHP_DEBUG: host.docker.internal:9100

第三步:配置startuop.sh,添加如下代码

有的安装环境是放在php.ini里的道理一样,就是吧xdebug的配置写入docker容器的配置文件里,我这边是放在startup.sh文件里,或者写到Dockerfile里,最终目的就是把参数写到容器里的xdebug配置文件中。
${PHP_DEBUG_IDEKEY:-xdebug} 代表如果PHP_DEBUG_IDEKEY没有被设置,它将默认使用xdebug
if [ -n "$PHP_DEBUG" ]; thenIFS=':' read -ra ADDR <<< "$PHP_DEBUG"{ \echo 'xdebug.mode=debug,trace' ;\echo 'xdebug.start_with_request =yes' ;\echo 'xdebug.remote_handler="dbgp"' ;\echo "xdebug.idekey=${PHP_DEBUG_IDEKEY:-xdebug}" ;\echo "xdebug.client_host=${ADDR[0]:-127.0.0.1}" ;\echo "xdebug.client_port=${ADDR[1]:-9000}" ;\} >> /etc/php/${PHP_VERSION}/mods-available/xdebug.ini
fi

第四步:运行容器 docker-compose up

然后进入到容器里看下是不是写入成功了,这里每次启动都会写入会有多条还没想好怎么处理

#查看运行的容器
docker ps#进入容器windows
docker exec -it [CONTAINER ID ] bash#退出
exit

打印phpinfo 查看配置

第七步 :配置phpstorm IDE

 

 

如果是第一次断点的话,成功的话会收到下面的连接提示

 完成,可以正常打印了

如果遇到类似只能断点入口文件的index.php缺不能断点项目的其他方法,很可能存在错误,一步步的执行会发现有报错

比如这个提示找不到映射文件,坚决方式也很简单,点击蓝色的设置配置提示所说的绝对路径即可 

扩展文档:

phpstorm官方的配置说明:Configure Xdebug | PhpStorm Documentation

Import from Deployment Configuration Dialog | PhpStorm Documentation

xdebug官方文档 Xdebug: Documentation » Function Trace

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com