作为一个资深的php开发者,我在之前的一篇文章里面也讲了如何搭建lnmp的docker镜像,这里不再赘述。在基于镜像运行容器中我也安装了xdebug,于是考虑用phpstorm来配置xdebug。
使用xdebug的好处很多:1.可以让开发者进行断点调试。2.并可以收集和显示运行阶段的变量和值。3.减少不必要的代码调试。这样php开发者就不用每次手动写代码进行断点调试,不用"var_dump"、"echo" 、"print_r"之类的输出语句打印变量。而且xdebug还提供了可以step in(步进)到调用函数内部,这样更方便进行debug。
首先给一个phpstorm和xdebug互相调用的图:
由此可见,需要配置好docker中的xdebug的配置,还有就是IDE中的xdebug相关配置。
1.配置docker中的xdebug。
先进入docker容器,然后使用php --ini命令查找到xdebug的配置文件地址。
用vim打开20-xdebug.conf,增加如下所示的配置:
zend_extension=xdebug.so
[XDebug]
xdebug.start_with_request = yes
;xdebug.remote_handler = "dbgp"
xdebug.remote_connect_back=1
xdebug.remote_enable=1
xdebug.client_host=192.168.3.6
xdebug.remote_port=9003
xdebug.remote_log = "/var/log/dnmp/php.xdebug.log"
xdebug.idekey=PHPSTORM
xdebug.mode=debug
其中xdebug.client_host是xdebug3的新配置,可以填写宿主机(就是你真实电脑)的ip,这是关键,千万不要填写什么172开头的,那是docker同网段的ip,不是本机真正的ip。如果你是的mac,可以用ifconfig查看你的en0的ip,其他操作系统的命令类似。
然后remote_port就是监听的端口号,建议用900x端口号,这样不会和常见已用的端口号重复。完成上面步骤,记得重启容器让配置生效
2.phpstorm的配置很简单,先选择ide的preferences,然后选择debug选项面板,如图所示。
 
然后再配置Server,如下图所示。
最后配置php web page,用上一步配置好的server即可,如下图所示。
然后就可以开始快乐地使用xdebug了。

如何结合phpstorm配置在docker中的xdebug的更多相关文章

  1. PhpStorm连接Docker容器配置xdebug断点调试

    本教程主要演示xdebug在PhpStorm中配置方法. 一.环境说明 1.Mac笔记本(本教程演示过程使用的是Mac OS操作系统,和windows环境是有区别的,这一点需要特别注意): 2.在Ma ...

  2. PhpStorm 配置在浏览器中打开文件

    这东东中文资料太少- -鼓捣了好久才有结果 点击File-Settings-Deployment .点+按钮增加服务器 Mapping 设置工程路径等 点击 Edit Confi 这东东中文资料太少- ...

  3. Mac+Docker环境下xdebug的配置

    由于容器化的需要,前几天我本地也换成了docker环境.就研究了一下docker环境下phpstorm和xdebug的配置. http://www.mmfei.com/?p=453 这个博客给出了一个 ...

  4. ref:phpstorm配置远程调试(xdebug)(docker中)

    ref:https://www.cnblogs.com/yjken/p/6555438.html readme:本文设置远程调试ubuntu中的php代码. 在docker中也可以,经过测试phpin ...

  5. Mac: phpstorm中使用xdebug调试php

    Mac: phpstorm中使用xdebug调试php###phpstorm和webserver都在同一台机器上这种情况1.安装xdebug使用pecl安装即可2.php.ini配置[xdebug]z ...

  6. mac+php+xdebug+phpstorm在苹果下配置xdebug一波三折

    1.下载xdebug文件 http://xdebug.org/wizard.php 将phpinfo()的源代码复制到文本框中,xdebug会提示如何配置和下载哪个版本的xdebug. 全部下载地址: ...

  7. 滚动 docker 中的 nginx 日志

    Nginx 自己没有处理日志的滚动问题,它把这个球踢给了使用者.一般情况下,你可以使用 logrotate 工具来完成这个任务,或者如果你愿意,你可以写各式各样的脚本完成同样的任务.本文笔者介绍如何滚 ...

  8. 在Docker中从头部署自己的Spark集群

    由于自己的电脑配置普普通通,在VM虚拟机中搭建的集群规模也就是6个节点左右,再多就会卡的不行 碰巧接触了Docker这种轻量级的容器虚拟化技术,理论上在普通PC机上搭建的集群规模可以达到很高(具体能有 ...

  9. nopCommerce 3.9 大波浪系列 之 使用部署在Docker中的Redis缓存主从服务

    一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发 ...

随机推荐

  1. WAFW00F waf识别工具 源码学习

    我实习工作的第一个任务根据已有的java waf识别工具 实现了一个python的waf识别工具 代码结构非常乱 仅仅达到了能用的水平. 顶头svp推荐这个项目当时我已经写好了开始用了自己的 稍微看了 ...

  2. Redis内存分析工具之redis-rdb-tools的安装与使用

    操作系统:Centos7    1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python: 安装: (1)用 wget 下载 python 2.7 并解压( 如果 ...

  3. 《剑指offer》面试题64. 求1+2+…+n

    问题描述 求 1+2+...+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: 输入: n = 3 输出: 6 示 ...

  4. [硬拆解]拆解一个USB转CAN总线设备-PCAN-USB

    介绍 PCAN-USB适配器可以简单地连接到CAN网络.其紧凑的塑料外壳使它适合移动应用.光电去耦版隔离了PC和CAN端之间高达500伏特的电流隔离. 该包还提供了Windows的CAN monito ...

  5. JSP页面打印输出,两种方法。out、《%=

    使用out.println()输出: <%@ page contentType="text/html;charset=UTF-8"%> <html> < ...

  6. jsp中获取下拉框的value问题

    遇到问题 最近快期末考试了,今天想写一个简单的增删改查项目练练手,可是在刚写增加的时候就出现了问题,"增"一直是最简单的操作,本来自付很快就能写完,可是数据库中对应的下拉框数据一直 ...

  7. lsof恢复误删文件

    用 lsof 恢复 误删除文件实验: 先模拟一个进程: [tiger@root:/home/tiger]$ echo "hello deletede" >> test. ...

  8. 安装Windows11操作系统(不需要绕过TPM检测脚本等) - 初学者系列 - 学习者系列文章

    Windows11操作系统是去年微软公司的最新力作.对于该操作系统的安装,网上有很多的教程了.这次主要写的是不需要绕过TPM检测操作安装Windows11操作系统. 1.        制作启动U盘: ...

  9. GAN入门

    1 GAN基本概念 1.1 什么是生成对抗网络? 生成对抗网络(GAN, Generative adversarial network) 在 2014 年被 Ian Goodfellow 提出. GA ...

  10. django之djangorestframework序列化操作

    只介绍序列化操作:serializers.ModelSerializer 与 serializers.Serializer 使用序列化的目的:将数据序列化成  JSON 对象 当页面上需要动态加载内容 ...