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


    ref:https://www.cnblogs.com/yjken/p/6555438.html

    readme:本文设置远程调试ubuntu中的php代码。

    在docker中也可以,经过测试phpinfo发现php.ini在/usr/local/etc/php目录,但是实际不存在,没关系仍然将下面xdebug的配置信息单独写入php.ini.

    显然在docker中构建环境,可以使得多个web环境共存。

    phpstorm中配置真正的远程调试(xdebug)

    这里说的是真正的远程调试,不是本地,本地不需要安装任何php程序!!!

    这里略去xdebug的安装,安装很简单可以下载源码包,动态编译进去!

    环境:

      Dev 服务器(IP:192.168.2.100),安装phpstorm,用来做开发任务!

      Server服务器(IP:192.168.2.222),web服务器(php架构),用来浏览网页用!

    这里的两台服务器在同一个网段下,可以互通!

    在Server服务器上的php.ini里配置xdebug如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    [xdebug]
    zend_extension=/opt/php5/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
     
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=192.168.2.100
    xdebug.remote_port=9000
    xdebug.idekey="PHPSTORM"

     remote_host参数的值填写Dev 服务器(开发机器)的IP地址。

    remote_port填写9000,只要没有被其它程序占用,就可以了,可以不是9000。

    接下来开始设置phpstorm的参数:

    快捷键(Ctrl + Alt + S)打开窗口:

     打开phpstorm的配置对话框,找到Languages & Frameworks  >> PHP >>Debug 窗口

    这里填写的Debug port为:9000,与php.ini里配置的端口号保持一致!

    接下来点选Server选项,点击绿色的 “+” 新建Server,并根据如下设置填写你相对应的内容!

    因为是远程调试,所以这里的Use Path mappings 一定要选,并且本地与远程文件要映射好。

    Debugger里选择:Xdebug !

    接下来配置Edit Configurations( Run >> Edit Configurations)

    点击后弹出窗口如下:

    选中PHP Web Application ,在右边选择前面新增的Server:ecstore,保存。

    这里其实只是用来配置一个模板,我之前只配置了这个,没有新增Debug选项,总是不能调试,后来参照资料才想明白,这里其实只是模板,配置好了后,可以直接新增选择对应模板就可以了。

    现在来新增Debug选项:

    点击后新增调试选项:

    好了。

    在php代码里打个断点开始调试吧:)

    然后,点击调试,开始愉快的干活吧!!!

     看看调试效果:

    这里真的没有什么DBGp概念,我们没有用到,也没有什么点击什么绿色的电话图标启动Start Listening...,有吗??

    没用,真的用不到那么些概念,网上一大堆以讹传讹的贴子,真是越看越迷糊!!!

    就这么愉快的调试吧 :)

    关于DBGp,其实就是个代理,把phpstorm设置成一个代理,但是对于我来说,真的需要什么代理吗???

    就这样吧,最简单的远程调试,去粗到精的成果!

  • 相关阅读:
    关于java中的继承
    jdk?jre?
    spring AOP的两种配置
    ng-repeat如何限制循环次数
    AngularJS filter:search 是如何匹配的 ng-repeat filter:search ,filter:{$:search},只取repeat的item的value 不含label
    Anjular的ng-repeat
    SpringBoot扫描不到类,注入失败A component required a bean of type 'XXService' that could...
    React路由安装使用和多种方式传参
    Vue详细介绍模板语法和过滤器的使用!
    Vue定义组件和生命周期函数及实例演示!
  • 原文地址:https://www.cnblogs.com/studyskill/p/9041610.html
一二三 - 开发者的网上家园