使用xdebug对PHP进行远程调试是一个php程序员一定要掌握的技能,关于在本机设置xdebug进行调试的方法,请自行百度,下面说一下如何配置远程服务器在开发机上的调试。

首先要在远程服务器上安装xdebug,这个也请自行百度。

  1. 直接指定ip法:
    通过在php.ini中将xdebug.remote_host=127.0.0.1后的ip修改为开发机的ip即可。
    此方法的缺点是仅能指定一台开发机进行远程调试。
  2. 使用ssh隧道连接
    以xshell为例,在开发机的xsehll中建立远程ssh连接,之后选择连接属性->SSH->隧道,添加,类型:Remote(incoming),源主机填写远程服务器ip,端口:9000,目标主机:localhost,端口:9000。

    连接远程主机,就可以调试了。
    此方法的缺点是无法同时支持多个主机进行远程调试,且每个开发机都会有拥有ssh权限。
  3. 使用Komodo Remote Debugging Package配置远程调试
    • 下载Komodo Remote Debugging Packge包中的Python Remote Debugging Client,下载地址http://code.activestate.com/komodo/remotedebugging/。
    • 解压压缩包。
    • 运行:
      • 如果是Komodo IDE 7以下版本的调试包,直接在解压目录中执行 ./bin/pydbgpproxy -i 0.0.0.0:9001 -d 9000 &。
      • 如果是Komodo IDE 8以上版本的调试包,可能需要先安装python库,指令如下:
        export PYTHONPATH=安装路径/pythonlib
        再执行如下指令确认一下库安装是否正确:
        python -c "import dbgp.client; print 'ok'"
        在执行./pydbgpproxy -i 0.0.0.0:9001 -d 9000 &
    • 在phpstorm中,选择Tools->DBGp Proxy->Configuration:

      输入如下内容:

      IDE Key自定义,但是不同的开发机要设置不同的值。Host则为服务器ip。

    • 在chrome内核的服务器上安装Xdebug helper插件,右击Xdebug helper图标:

      选择Other,输入在PHP Storm中输入的IDE Key:

      选择Tools->DBGP Proxy->Register IDE

      看到如下标志,就可以进行调试了。

    • 此方法的优点:

      • 可以支持多个开发机进行远程调试。
      • 无需开发机有ssh权限。
    • 此方法的缺点:
      • 配置较复杂。
      • 在不需要调试时,不能只关闭PHP Storm调试开关,而是要在浏览器端将Xdebug helper设置成Disable状态,否则会出现浏览器无响应。
      • 偶尔服务器端Remote Debugging Client会停止工作,需要手工启动。

配置xdebug远程调试php的三种方法(配合phpstorm)的更多相关文章

  1. NetBeans配置Xdebug 远程调试PHP

    1.配置PHP 说明:xdebug.trace_output_dir和xdebug.profiler_output_dir需要增加权限 #chmod 755 /usr/xdebug-tmp xdebu ...

  2. Eclipse远程调试Java代码的三种方法

    Eclipse远程调试Java代码的三种方法, 第1种方法是用来调试已经启动的Java程序,Eclipse可以随时连接到远程Java程序进行调试, 第2种方法可以调试Java程序启动过程,但是Ecli ...

  3. XDEBUG 远程调试

    我的PHP环境是安装在虚拟机中.真机系统用的是windows.那么我要用XDEBUG调试代码,就得用XDEBUG的远程调试功能. 首先要给远程环境中安装XDEBUG扩展,具体方法:http://www ...

  4. PhpStorm Xdebug远程调试环境搭建原理分析及问题排查

    2017年05月26日  经验心得 目录   一. 环境介绍 二. 远程环境配置 2.2 Xdebug安装 2.3 配置 三. 本地phpstorm配置 3.1 下载远程代码 3.2 添加php解释器 ...

  5. PhpStorm XDebug 远程调试

    现在我们自己公司的各种开发和测试服务器,都是使用阿里云的服务器.一些PHP的项目,无法在本地搭建完整的环境,在外网服务器上调试更方便定位问题.发现网上没有完整的关于如何配置PHPStorm和XDebu ...

  6. xdebug远程调试原理分析

    xdebug可以控制PHP程序的执行,这意味着xdebug可以在任何时候暂停或者恢复正在运行的PHP程序.当PHP程序被暂停的时候,xdebug可以获取到程序的有关 信息,比如变量的值等.xdebug ...

  7. 痞子衡嵌入式:大话双核i.MXRT1170之在线联合调试双核工程的三种方法(IAR篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1170下在线联合调试双核工程的方法(基于IAR). 前段时间痞子衡写过一篇<双核i.MXRT1170之单独在线调试从 ...

  8. Spring使用jdbcJdbcTemplate和三种方法配置数据源

    三种方法配置数据源 1.需要引入jar包:spring-jdbc-4.3.2.RELEASE.jar <!-- spring内置,springJdbc,配置数据源 --> <bean ...

  9. MYSQL加入远程用户或同意远程訪问三种方法

    加入远程用户admin密码为password GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY \'password\' WIT ...

随机推荐

  1. IE7&IE8不支持rgba的方法

    使用滤镜功能 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#BF000000,endColorstr=#BF0000 ...

  2. mysql建库

    CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE 的语法: CRE ...

  3. ZF-关于海南的增删改需求

    ,) ,,) ,) '); select * from SYS_ORGAN where org_name = '区教体局' update sys_organ set org_name = '综合行政执 ...

  4. zf-关于邵阳市打印模块个别单号打印之后不会跳转到收费模块的BUG的解决方法

    原因是 办结的时候 有个收费管理,里面会生成收费项目的单号,但是有1个单号是有问题的,没有关联到数据库里面的其他的表,所以打印之后不能跳转.如果跳转到收费模块 那么数据库里面的一个flag字段会变成9 ...

  5. Diamond Collector

    Diamond Collector 题目描述 Bessie the cow, always a fan of shiny objects, has taken up a hobby of mining ...

  6. 加工生产调度(prod)

    加工生产调度(prod) 题目描述 有n个部件需在A.B机器上加工,每个工件都必须经过先A后B两道工序. 已知:部件i在A.B机器上的加工时间分别为ai,bi. 问:如何安排n个工件的加工顺序,才能使 ...

  7. BootStrap中关于input-group的问题(未解决)

    ****************************************2016年1月6日 23:08******************************* 本来想实现的如下功能: 但 ...

  8. 一道js题

    <script> var a = 5; function test(){ this.a = 10; a = 15 this.func = function(){ var a = 20 ; ...

  9. 计算机学院大学生程序设计竞赛(2015’12) 1001 The Country List

    #include<cstdio> #include<cstring> #include<cmath> #include<string> #include ...

  10. 安卓 Android题目大全

    安卓001个人事务管理系统(单端) 安卓002手机订餐系统 安卓003无线点菜 安卓004酒店房间预定系统 安卓005个人相册管理系统(单端) 安卓006计算器(单端) 安卓007英语学习(单端) ...