这里说的是真正的远程调试,不是本地,本地不需要安装任何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. DFS+打表

    N皇后问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  2. 如何在SecureCRT中给linux上传和下载文件 安装redis

    首先建立文件 /download sz和rz命令无法用.则用以下1.和2.3步骤   需要上传或者下载,需要使用rz和sz命令.如果linux上没有这两个命令工具,则需要先安装.可以使用yum安装.运 ...

  3. b2b2c

    编辑 B2B2C是一种电子商务类型的网络购物商业模式,B是BUSINESS的简称,C是CUSTOMER的简称,第一个B指的是商品或服务的供应商,第二个B指的是从事电子商务的企业,C则是表示消费者.   ...

  4. ThinkPHP模板IF标签用法详解

    投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-07-01 我要评论 这篇文章主要介绍了ThinkPHP模板IF标签用法,需要的朋友可以参考下 ThinkPHP的IF标 ...

  5. DEDE中 field:rel 是什么意思,起一个什么样的作用效果

    DEDE中 field:rel 是什么意思,起一个什么样的作用效果 这是一段调用导航栏目的代码 {dede:channel type='top' row='10' } [field:typename/ ...

  6. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

  7. addTarget:self 的意思是说,这个方法在本类中

    addTarget:self 的意思是说,这个方法在本类中也可以传入其他类的指针*/

  8. css scale放大缩小

    .product-content ul li a img:hover{ transform: scale(1.1); }

  9. u8g2库的相关资料

    2017-12-1309:13:32更新51论坛上的帖子,大神自己写的库文件,待调试! http://www.51hei.com/bbs/forum.php?mod=viewthread&ti ...

  10. python3 第十七章 - sequence(序列)

    之前我们在讲for循环语句时就提到过序列,那么什么是序列(sequence)? 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 —— 它的索引(位置),第一个索引是0,第二个索引 ...