配置xdebug远程调试php的三种方法(配合phpstorm)
使用xdebug对PHP进行远程调试是一个php程序员一定要掌握的技能,关于在本机设置xdebug进行调试的方法,请自行百度,下面说一下如何配置远程服务器在开发机上的调试。
首先要在远程服务器上安装xdebug,这个也请自行百度。
- 直接指定ip法:
通过在php.ini中将xdebug.remote_host=127.0.0.1后的ip修改为开发机的ip即可。
此方法的缺点是仅能指定一台开发机进行远程调试。 - 使用ssh隧道连接
以xshell为例,在开发机的xsehll中建立远程ssh连接,之后选择连接属性->SSH->隧道,添加,类型:Remote(incoming),源主机填写远程服务器ip,端口:9000,目标主机:localhost,端口:9000。
连接远程主机,就可以调试了。
此方法的缺点是无法同时支持多个主机进行远程调试,且每个开发机都会有拥有ssh权限。 - 使用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)的更多相关文章
- NetBeans配置Xdebug 远程调试PHP
1.配置PHP 说明:xdebug.trace_output_dir和xdebug.profiler_output_dir需要增加权限 #chmod 755 /usr/xdebug-tmp xdebu ...
- Eclipse远程调试Java代码的三种方法
Eclipse远程调试Java代码的三种方法, 第1种方法是用来调试已经启动的Java程序,Eclipse可以随时连接到远程Java程序进行调试, 第2种方法可以调试Java程序启动过程,但是Ecli ...
- XDEBUG 远程调试
我的PHP环境是安装在虚拟机中.真机系统用的是windows.那么我要用XDEBUG调试代码,就得用XDEBUG的远程调试功能. 首先要给远程环境中安装XDEBUG扩展,具体方法:http://www ...
- PhpStorm Xdebug远程调试环境搭建原理分析及问题排查
2017年05月26日 经验心得 目录 一. 环境介绍 二. 远程环境配置 2.2 Xdebug安装 2.3 配置 三. 本地phpstorm配置 3.1 下载远程代码 3.2 添加php解释器 ...
- PhpStorm XDebug 远程调试
现在我们自己公司的各种开发和测试服务器,都是使用阿里云的服务器.一些PHP的项目,无法在本地搭建完整的环境,在外网服务器上调试更方便定位问题.发现网上没有完整的关于如何配置PHPStorm和XDebu ...
- xdebug远程调试原理分析
xdebug可以控制PHP程序的执行,这意味着xdebug可以在任何时候暂停或者恢复正在运行的PHP程序.当PHP程序被暂停的时候,xdebug可以获取到程序的有关 信息,比如变量的值等.xdebug ...
- 痞子衡嵌入式:大话双核i.MXRT1170之在线联合调试双核工程的三种方法(IAR篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1170下在线联合调试双核工程的方法(基于IAR). 前段时间痞子衡写过一篇<双核i.MXRT1170之单独在线调试从 ...
- Spring使用jdbcJdbcTemplate和三种方法配置数据源
三种方法配置数据源 1.需要引入jar包:spring-jdbc-4.3.2.RELEASE.jar <!-- spring内置,springJdbc,配置数据源 --> <bean ...
- MYSQL加入远程用户或同意远程訪问三种方法
加入远程用户admin密码为password GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY \'password\' WIT ...
随机推荐
- Bootstrap Modal 垂直居中
Bootstrap 的 modal 正文中如果内容较少的话,并不会垂直居中,而是偏上, 如果想要达到垂直居中的效果,需要自动动手了. 可以在初始显示时设置垂直居中,可以这样做: $('#YourMod ...
- Struts2 语法--result type
result type: dispatcher,redirect:只能跳转到jsp,html之类的页面,dispatcher属于服务器跳转, redirect属于客户端跳转 chain: 等同于for ...
- Entity Framework 学习初级篇4--Entity SQL
Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...
- Sichuan State Programming Contest 2012 C。Counting Pair
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=118254#problem/C 其实这道题目不难...就是没有仔细分析... 我们可以发现 ...
- [Java]读取文件方法大全(转)
[Java]读取文件方法大全 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** ...
- (转)多个MapReduce作业相互依赖时,使用JobControl进行管理
原文地址:http://mntms.iteye.com/blog/2086990 要处理复杂关系的数据,一个工程里面绝对不止一个MapReduce作业,当有多个MapReduce作业时, ...
- 搭建网络yum源
#!/bin/bash #Linux搭建163网络yum源 cd /etc/yum.repos.d/ echo "-------------------下载163-repo--------- ...
- 触发器(基本的SR触发器、同步触发器、D触发器)
一.能够存储1位二值信号的基本单元电路统称为触发器(Filp-Flop) 触发器是构成时序逻辑电路的基本逻辑部件.它有两个稳定状态:“0”和“1”.在不同的输入情况下,它可以被置0状态或1状态,当输入 ...
- web.xml的启动顺序
1. context-param 2. Listener 3. Filter 4. servlet <?xml version="1.0" encoding="UT ...
- ural1471 Distance in the Tree
Distance in the Tree Time limit: 1.0 secondMemory limit: 64 MB A weighted tree is given. You must fi ...