PhpStorm连接docker容器内的php XDebug进行断点调试
PhpStorm连接容器内的XDebug进行断点调试
php进行断点调试尽管不像其他语言那样方便,但是有些是有确实有其用处,比如调试循环内的数据异常时。在php于phpstorm都安装在同一环境下时,配置phpstorm的xdebug调试并不是多困难的事情,但是如果你使用了docker容器来安放你的php环境时,他们之间的配合工作就不是那么简单容易的了,下边介绍一下如何使phpstorm连通docker容器内的php xdebug
请注意,该方法由于需要docker容器能够与宿主机进行网络通信,因此对于mac上的docker容器不可用(mac的docker使用linux vm技术实现,默认无法与本地网络实现通信,但是也可以通过其他方式曲线救国,这里不讲),但是mac上的phpstorm可以使用该方法连接远程linux服务器上的docker容器内的php xdebug
配置docker容器内的php xdebug环境
在docker容器中安装好php-pecl-xdebug扩展之后,编辑/etc/php.d/下的*-xdebug.ini文件(如果没有该文件也可以直接写在php.ini文件末尾)
- 将xdebug.remote_enable参数设置为1
- 将xdebug.remote_host参数设置为你的宿主机IP(如果你的phpstorm安装在你的宿主机,否则指向你phpstorm所在机器的IP)
- 将xdebug.remote_port参数设置为你要使用的端口(默认为9000)
配置phpstorm
- 打开phpstorm的设置:PhpStorm->Preferences(command + ,)
- 配置languages & Frameworks->PHP->Debug页面中xdebug项的debug port为你容器中xdebug设置的端口
- 配置languages & Frameworks->PHP->Servers页面,添加Server
配置phpstorm的debug
- 打开phpstorm的设置:run->Edit configurations
- 添加一个PHP Web Appliation
- 将右上角的小电话的图标设置为监听状态就可以启用XDEBUG调试程序了
浏览器扩展
php的xdebug需要监听请求中的特定参数才能启用xdebug调试,这里推荐安装一个浏览器扩展,该扩展在启用时可以保存此参数并附加到每个页面中以便调试
- 火狐浏览器可以安装:The easiest xdebug扩展
- chrome浏览器可以安装:XDebug Helper扩展
PhpStorm连接docker容器内的php XDebug进行断点调试相关推荐
- 解决:docker容器内可以访问web应用,端口映射到宿主机却无法访问,错误代码:curl: 56 Recv failure: 连接被对方重设
解决:docker容器内可以访问web应用,端口映射到宿主机却无法访问,错误代码:curl: 56 Recv failure: 连接被对方重设 或者 curl: 52 Empty reply from ...
- 【Docker】docker容器内获取宿主机的信息和执行宿主机的脚本
思路 我们可以通过在容器内远程连接宿主机,然后对宿主机进行操作. 使用 sshpass (我的是CentOS 7.9环境) 1.安装sshpass apt-get update //更新一下 apt- ...
- 解决Docker容器内访问宿主机MySQL数据库服务器的问题
解决Docker容器内访问宿主机MySQL数据库服务器的问题 参考文章: (1)解决Docker容器内访问宿主机MySQL数据库服务器的问题 (2)https://www.cnblogs.com/ga ...
- Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法
Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法 1).容器中登录my ...
- 基于事件驱动架构构建微服务第10部分:在docker容器内运行单元测试
原文链接:https://logcorner.com/building-microservices-through-event-driven-architecture-part11-run-unit- ...
- 解决Docker容器内安装chrome浏览器无法启动bug
前言 之前有写过一个基于Ubuntu20.04 的Docker容器的可视化Dockerfile,当时默认火狐浏览器,今天要测试一个项目就run了一个可视化容器,但是我需要用到chrome浏览器,于是乎 ...
- docker容器内漏洞_如何在2020年发现和修复Docker容器漏洞
docker容器内漏洞 Containerization allows engineering teams to create a sandbox environment in which to ru ...
- ssh 连接_Docker实战——使用SSH连接docker容器
简介 什么是Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 L ...
- Docker容器内不能联网的6种解决方案
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Docker容器内不能联网的6种解决方案 注:下面的方法是在容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网( ...
- DOCKER容器内中文显示乱码
在docker容器内使用Bash通过 ls 列取中文列表内容时,中文会显示为乱码,简单一步就可以解决此烦恼. 在创建容器时加入环境变量: LANG=C.UTF-8 命令行方式: docker run ...
最新文章
- 树莓派3b+目标检测: tflite 运行 mobilenet ssd
- mysql回表_到底什么情况下mysql innodb会发生回表操作?
- 解决VS2013卡顿现象,很有用
- 小米折叠手机高清渲染图曝光:双外折叠形态美如画
- cs0246未能找到类型或命名空间名_实用小工具之整理标题及数据类型
- SAP License:SAP会计凭证抬头的字段状态控制
- HelpDesk工作流多级,多任务流程(包含源代码和InfoPath模板)
- 第七届蓝桥杯c语言a组答案,第七届蓝桥杯 C语言A组试题.pdf
- Java连接数据库驱动包下载
- 加密php大马,webshell加密-加密你的大马
- 转载 三极管饱和及深度饱和状态的理解和判断!!
- linux wine编译安装目录,wine32和wine64共存编译安装方法
- 微信小程序服务器向客户端发送通知消息,微信小程序消息推送
- 2020-01-04
- 深入详解python高级特性——函数柯里化(Currying)与反柯里化
- Android通过广播接收器BroadcastReceiver监听蓝牙连接变化
- 如何实现emoji文本字数计算?以及输入框限制指定字符数?
- MATLAB解线性方程组
- PS学习(一)-改变logo颜色
- 电脑连接linux系统怎么样,如今连Linux都弄不懂-当时我如果那么学习培训电脑操作系统就好啦...