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

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

环境:

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

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

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

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

[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设置成一个代理,但是对于我来说,真的需要什么代理吗???

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

补充:

  近期安装了高版本的php-fpm,发现有个问题, 就是已经开始调试了,但是在无操作历时大概1分多钟的时间后,调试会自动终止,百思不得解,后来通过google得到启发,是进程管理器那边有个超时设置,时间一超, 就会终止掉php进程.

解决方案如下(超时配置成1小时):

  1. apache module的情况下:

   修改配置文件 httpd/conf.d/fcgid.conf

   FcgidIOTimeout 3600

  2.nginx , php-fpm的情况下:

    修改配置文件 php-fpm.conf

    request_terminate_timeout = 3600

phpstorm中配置真正的远程调试(xdebug)的更多相关文章

  1. webSphere-Eclipse中配置was的远程调试

    目前我们项目中使用的应用服务器多是WebSphere,一直苦于无法进行调试,今天在网上看到一篇,原文是 http://www.cnblogs.com/newstar/archive/2010/04/1 ...

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

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

  3. 配置tomcat的远程调试

    参考文档: http://jingyan.baidu.com/article/0320e2c1f4ef6b1b87507b06.html http://flyer2010.iteye.com/blog ...

  4. VS2015配置Linux开发远程调试

    # VS2015配置Linux开发远程调试 ### 简介-----------------------------vs2015支持跨平台开发 ### 软件环境--------------------- ...

  5. 在maven项目中 配置代理对象远程调用crm

    1 在maven项目中配置代理对象远程调用crm 1.1 在项目的pom.xml中引入CXF的依赖 <dependency> <groupId>org.apache.cxf&l ...

  6. 在gentoo中打开tomcat的远程调试开关

    在一般象gentoo等发行版中,系统安装tomcat这类软件后会产生一些启动脚本, 比如是/etc/init.d/tomcat-7, 启动方式与原始的tomcat不太一样.在gentoo中,假设须要远 ...

  7. PhpStorm中配置xdebug调试环境

    1. 安装xdebug 第一步: 得到本地PHP配置信息 在终端中运行: php -i > outputphp.txt 然后将得到的txt文件中的信息拷贝并复制到http://xdebug.or ...

  8. ubuntn下 nginx+phpstorm 中配置xdebug调试

    xdebug安装和配置说明,主要用于个人学习记录. 一.echo phpinfo(); 搜素xdebug,若未搜素到,则标识未安装或安装失败. 二.拷贝步骤1中输出的所有结果.访问http://xde ...

  9. PHPStorm 中配置 XDebug

    1.下载 Xdebug ps : php版本和xdebug版本一定要相对应 如果不知道下载哪个版本,将phpinfo网页的源代码拷贝到https://xdebug.org/wizard.php,然后按 ...

随机推荐

  1. HDU 1003 Max Sum【动态规划求最大子序列和详解 】

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  2. HDU 1248 寒冰王座(完全背包裸题)

    寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  3. JqGrid 多行表头设置

    1.我想要统计的效果是这样的 2.只要在初始化表格中加上如下代码就可以了: jQuery("#tbAbroadStatisticByUnit").jqGrid('setGroupH ...

  4. 小工具:截图&简单图像处理

    一.程序运行截图 二.获取屏幕截图的方法 首先知道我们可以通过Screen.PrimaryScreen.Bounds获取到当前整个屏幕,再利用Bitmap和Graphics就可以得到整个屏幕的图片了. ...

  5. js定时器之setTimeout的使用

    之前用过定时器,只不过用的不是很多,关于js定时器,一般而言我们很容易想到setInterval和setTimeout这两种. 刚开始学js定时器时,记住了setInterval,该方法一般用于每隔多 ...

  6. keepalived VS zookeeper

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/e3db73cb83afb213a3bff43a850d56c4.html keepalived VS zook ...

  7. 常用排序算法java实现

    写在前面:纸上得来终觉浅.基本排序算法的思想,可能很多人都说的头头是到,但能说和能写出来,真的还是有很大区别的. 今天整理了一下各种常用排序算法,当然还不全,后面会继续补充.代码中可能有累赘或错误的地 ...

  8. 【开发技术】常用正则表达式大全!(例如:匹配中文、匹配html)

    匹配中文字符的正则表达式: [u4e00-u9fa5]   评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度 ...

  9. intern

    java.lang.String的intern()方法"abc".intern()方法的返回值还是字符串"abc",表面上看起来好像这个方 法没什么用处.但实际 ...

  10. Codeforces 900 E. Maximum Questions (DP,技巧)

    题目链接:900 E. Maximum Questions 题意: 给出一个长度为n只含有a和b还有'?'的串s,且'?'可以被任意替换为a或b.再给出一个字符串t (奇数位上为a,偶数位上为b,所以 ...