这里说的是真正的远程调试,不是本地,本地不需要安装任何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,然后按 ...
随机推荐
-
JS打印页面指定区域
错误的写法: //打印 function printPage(areaId) { if (parent.$("#PrinFrame").length == 0) { parent. ...
-
Bug测试报告--在线考试系统--金州勇士
项目名:在线考试系统 组名:金州勇士 测试者:宫丽君(nice!团队) 代码地址: ssh:git@git.coding.net:handsomeman/examm.git https://g ...
-
《JavaScript高级程序设计》第5章 引用类型
5.2.2 转换方法 所有对象都有toString()和valueOf()方法调用数组的toString()方法,会返回一个字符串,由数组中的每个项通过逗号连接而成调用valueOf()还是返回数组 ...
-
.aspx、MasterPage、.ascx加载顺序
1. Master page中的用户控件的 page_init2. Aspx页面中的用户控件的 page_init3. Master page的page_init4. Aspx ...
-
spring data jpa在使用PostgreSQL表名大小写的问题解决
国内的文章看了一遍,其实没找到根本问题解决方法,下面将列举这一系列的问题解决方法: 1.在配置文件增加如下配置: spring.jpa.hibernate.naming.physical-strate ...
-
简单介绍Linux下安装Tomcat的步骤
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新的 ...
-
AllowOverride None
PHP Advanced and Object-Oriented Programming Larry Ullman <Directory /> AllowOverride None < ...
-
Linux的管道命令
Linux的管道命令 管道命令(Pipe) 管道命令用"|"来表示,管道命令需要接收前一个命令的输出来进行操作,但不能处理前一个命令的错误. //选取界面:cut,grep cut ...
-
BZOJ 4945 UOJ #317 NOI2017 游戏 2-SAT 拓扑排序
http://uoj.ac/problem/317 https://www.lydsy.com/JudgeOnline/problem.php?id=4945 我现在的程序uoj的额外数据通过不了,b ...
-
linux文件系统和目录树的关系
文件系统是和底层的硬件系统紧密关联的,文件系统相当于是dev(设备或硬件)在Linux上面的显示,如/dev/hdc2 而目录树是逻辑的概念,其可以通过挂载的方式连接文件系统,先用df查看本地的文件系 ...