phpstorm中配置真正的远程调试(xdebug)
这里说的是真正的远程调试,不是本地,本地不需要安装任何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)的更多相关文章
- webSphere-Eclipse中配置was的远程调试
目前我们项目中使用的应用服务器多是WebSphere,一直苦于无法进行调试,今天在网上看到一篇,原文是 http://www.cnblogs.com/newstar/archive/2010/04/1 ...
- ref:phpstorm配置远程调试(xdebug)(docker中)
ref:https://www.cnblogs.com/yjken/p/6555438.html readme:本文设置远程调试ubuntu中的php代码. 在docker中也可以,经过测试phpin ...
- 配置tomcat的远程调试
参考文档: http://jingyan.baidu.com/article/0320e2c1f4ef6b1b87507b06.html http://flyer2010.iteye.com/blog ...
- VS2015配置Linux开发远程调试
# VS2015配置Linux开发远程调试 ### 简介-----------------------------vs2015支持跨平台开发 ### 软件环境--------------------- ...
- 在maven项目中 配置代理对象远程调用crm
1 在maven项目中配置代理对象远程调用crm 1.1 在项目的pom.xml中引入CXF的依赖 <dependency> <groupId>org.apache.cxf&l ...
- 在gentoo中打开tomcat的远程调试开关
在一般象gentoo等发行版中,系统安装tomcat这类软件后会产生一些启动脚本, 比如是/etc/init.d/tomcat-7, 启动方式与原始的tomcat不太一样.在gentoo中,假设须要远 ...
- PhpStorm中配置xdebug调试环境
1. 安装xdebug 第一步: 得到本地PHP配置信息 在终端中运行: php -i > outputphp.txt 然后将得到的txt文件中的信息拷贝并复制到http://xdebug.or ...
- ubuntn下 nginx+phpstorm 中配置xdebug调试
xdebug安装和配置说明,主要用于个人学习记录. 一.echo phpinfo(); 搜素xdebug,若未搜素到,则标识未安装或安装失败. 二.拷贝步骤1中输出的所有结果.访问http://xde ...
- PHPStorm 中配置 XDebug
1.下载 Xdebug ps : php版本和xdebug版本一定要相对应 如果不知道下载哪个版本,将phpinfo网页的源代码拷贝到https://xdebug.org/wizard.php,然后按 ...
随机推荐
- 【Java学习笔记之十五】Java中的static关键字解析
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...
- bzoj:1221;vijos 1552 软件开发
Description 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员 ...
- find the nth digit(二分查找)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1597 find the nth digit Time Limit: 1000/1000 MS (Jav ...
- 浅谈event.client、event.screen与event.offset
每每看到event.client.event.screen与event.offset这几个,头都大了,今天又碰到了,特来总结下. 1.event.screenX与event.screenY. 首先,e ...
- zzuli oj 1134 字符串转换
题目链接: https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1134 Description 输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉 ...
- java finally深入探究
When---什么时候需要finally: 在jdk1.7之前,所有涉及到I/O的相关操作,我们都会用到finally,以保证流在最后的正常关闭.jdk1.7之后,虽然所有实现Closable接口的流 ...
- A glance at endpoint security
Last year hackers stole millions from Taiwan First Commercial bank's ATMs without using a card. This ...
- (实例篇)LNMP 1.4一键安装包,安装教程
http://mp.weixin.qq.com/s/l6ijKBwD6tt8jkZytWEIsw https://lnmp.org/download.html 2017-09-11 学习与分享 PHP ...
- 数据库复习总结(6)-SQL语句入门(脚本、命令)
脚本操作: 脚本操作 注释:--单行注释,/**/多行注释 数据库:创建.删除 (可以通过查看master数据库中的sysdatabase表,来了解当前存在的数据库) 点击“新建查询”,选中哪句执行哪 ...
- 【编程技巧】NSDate,NSDateFormatter,NSTimeInterval
//获取日期 todaysDate=[NSDate date]; //显示日期和时间 dateFormat = [[NSDateFormatter alloc] init];//NSDate没有自己的 ...