phpstorm xdebug
xdebug安装
https://xdebug.org/wizard.php
http://blog.csdn.net/zhyh1986/article/details/45172685
http://www.cnblogs.com/xujian2016/p/5548921.html
刚从Java转到PHP上,一直以为PHP代码的调试也会像Java一样方便,今天查了一下,没想到居然这么复杂,这里记一下配置过程。
第一次使用markdown写博客,感觉还挺好玩的。
我的环境
- 操作系统:64位 win7 旗舰版 Service Pack 1
- PHP版本:php-5.6.7-Win32-VC11-x64
- Apache版本:httpd-2.4.12-win64-VC11
- PHPStorm版本:PhpStorm 8.0.3
下载Xdebug
Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。
Xdebug官方网站:http://xdebug.org/
Xdebug当前最新版本是2.3.2,为了匹配我的PHP环境,我下载的是php_xdebug-2.3.2-5.6-vc11-x86_64.dll库,下载地址:http://xdebug.org/files/php_xdebug-2.3.2-5.6-vc11-x86_64.dll
配置php.ini
将下载的php_xdebug-2.3.2-5.6-vc11-x86_64.dll库拷贝到%PHP_HOME%/ext目录,然后打开php.ini文件添加如下配置:
[XDebug]
zend_extension=php_xdebug-2.3.2-5.6-vc11-x86_64.dll
xdebug.idekey="PHPSTORM"
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_host=127.0.0.1
xdebug.remote_enable=on
xdebug.remote_port = 9000
xdebug.remote_autostart = no
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
上面下载的dll库放置位置不是固定,只要在php.ini配置文件中准确指定即可,即zend_extension配置项指向dll库文件。
需要注意的是xdebug.idekey配置,这里配置的值(当前为“PHPSTORM”)在phpstorm中及浏览器中都需要设置(下面有相关描述),可以改为其它值,但必须保证在这三处设置统一。
这一部分关于Xdebug的配置是很复杂的,这里只是简单地配置了一下,详细配置可以查阅相关资料。
Xdebug全部可用配置可参考官方的一个链接:http://xdebug.org/docs/all_settings
This section describes all available configuration settings available in Xdebug.
PHPStorm设置
服务器配置完成后,需要对PHPStorm作一些设置,使其能够监听到浏览器的请求。
以下设置步骤部分顺序可以调整。
Deployment设置
打开“Build, Execution, Deployment > Deployment”设置,创建一个项目部署条目,由于我是作本机项目的调试,因此这里设置类型为“Local or mounted folder”;然后指定项目路径并设置Web服务的入口URL,如下图所示:
Server设置
定位到“Languages & Frameworks > PHP > Servers”配置,添加一个服务器配置,Name自定义(我这里用localhost),Host为localhost(本机调试),Port(端口)设置为80,Debugger选择Xdebug即可。
配置完成后可以验证一下是否配置成功,点击本配置界面中的“Validate remote environment”按钮,在弹出的对话框中选择“Deployment设置”步骤中设置的部署项目(这里为sycms),在对话框的Information区域没有出现错误信息即表示Servers设置正确。
Debug设置
找到Languages & Frameworks > PHP > Debug配置,将Debug port设置为9000(与php.ini配置文件中的端口设置保持一致)。
然后展开Debug,设置DBGp如下图所示:
其中IDE Key即php.ini文件中xdebug.idekey配置项的值。
Firefox浏览器设置
首先需要给Firefox安装Xdebug插件,我选用的是名为“The easiest Xdebug”的Firefox浏览器插件,安装后打开插件设置页面,将IDEKey填写到下图中的红框位置即可,如下所示:
插件安装配置成功后需要将其启用。
如上图所示在Firefox右上角有个爬虫图标,默认是灰色的,点击它会变成绿色并且虫子的脚会有爬动的动画,这样表示启用了Xdebug浏览器插件。
如果使用Chrome浏览器,可以安装Xdebug helper插件(扩展程序,一般需要翻墙),安装后配置IDEKey的值与Firefox基本一样,然后点击图标启用即可。
使用Xdebug进行调试
在PHPStorm中打开“Run/Debug Configuration”配置,新建 一个“PHP Web Application”启动项,指定正确的Server和Start URL后保存,如下所示:
在PHPStorm中打开Xdebug监听(启动工具栏中样子像电话听筒的“Start Listening for PHP Debug Connnections”按钮)。
最后在PHP代码中打上断点,在浏览器中访问“Run/Debug Configuration”配置中的“Start URL”对应的地址,即可与PHPStorm成功连接,如下所示:
常见问题
第一次运行Xdebug调试时,PHPStorm报了如下错误:
Cannot accept external Xdebug connection: Cannot evaluate expression'isset($_SERVER['PHP_IDE_CONFIG'])';
- 1
- 2
原因为php.ini文件中dll文件配置的是
extension=php_xdebug-2.3.2-5.6-vc11-x86_64.dll
- 1
- 2
将其改为zend_extension后重启Apache即可,如下所示:
zend_extension=php_xdebug-2.3.2-5.6-vc11-x86_64.dll
- 1
- 2
参考资料
phpstorm xdebug的更多相关文章
- XAMPP PHPSTORM XDEBUG 配合使用
1.xdebug 配置 安装完xampp 进入 php.ini [XDebug]zend_extension = "C:\xampp\php\ext\php_xdebug.dll" ...
- centos7+nginx 1.9.0+php-fpm+phpstorm+xdebug+vmware开发环境搭建
1.php-fpm yum install php-fpm 默认配置在本地9000端口监听 service php-fpm restart启动 2.nginx 1.9.0 需先安装gcc zlib o ...
- PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因
这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 笔者的开发环境如下:Windows8.1+Apache+P ...
- PhpStorm, XDebug, and DBGp Proxy
phpstorm 利用 xdebug.dbgp-proxy配置远程调试 1.单客户机远程调试 a.安装xdebug库文件(windows:php_xdebug.dll;linux:php_xdebug ...
- 使用 PHPStorm + Xdebug 实现断点调试(二)
一.配置 Xdebug 配置 Xdebug 相关参数,在 php.ini 文件中新增如下配置,如果没安装的,请参考<PHP 安装 Xdebug扩展>: [xdebug] xdebug.re ...
- PhpStorm+xdebug调试——更新
之前写过一篇<PhpStorm+xdebug+postman调试>,但是经过后来一段时间的使用,发现有些累赘.这里介绍一种比较简单方便的操作. 在上一篇文章中有一段“ 7.设置Server ...
- PhpStorm+xdebug+postman调试
PhpStorm+xdebug+postman调试 写PHP时,一直用postman做测试,最近发现在测试过程中可以用xdebug来断点调试,比原来手动打exit或者die来断点效率高多了. 下面记录 ...
- macOS 下 PHPStorm + Xdebug 调试 Docker 环境中的代码
0x00 描述 宿主机是 mac mini,构建的项目在 docker 中,所以需要在 PHPStorm 上配置 Xdebug 进行远程代码调试. 0x01 环境 宿主机:macOS High Sie ...
- phalcon断点调试(phpStorm+xdebug)
1.下载并添加chrome插件xdebug helper,下载地址:http://www.downcc.com/soft/261091.html 2.php添加xdebug扩展 mkdir -p /u ...
- 转:PHPStorm+XDebug进行调试图文教程
原文:PHPStorm+XDebug进行调试图文教程 一.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行. ...
随机推荐
- cas HttpServletRequestWrapperFilter
HttpServletRequestWrapperFilter 作用其实很简单就是 在HttpServletRequest对象在包装一次,让其支持getUserPrincipal,getRemoteU ...
- spoj8406
题解: 二分+树状数组 记录以下i在当前拍第几 代码: #include<bits/stdc++.h> using namespace std; ; int a[N],f1[N],f2[N ...
- 软件工程——Word-Counter
Python实现Word-Counter 一.前言 Github地址:https://github.com/hzquestion/Word-Counter 二.项目概述 实现一个统计程序,它能正确统计 ...
- 手把手教你搭建一个Elasticsearch集群
一.为何要搭建 Elasticsearch 集群 凡事都要讲究个为什么.在搭建集群之前,我们首先先问一句,为什么我们需要搭建集群?它有什么优势呢? (1)高可用性 Elasticsearch 作为一个 ...
- haproxy配置示例
1.最基础的的配置 下面的例子配置了一个监听在所有接口的80端口上HTTP proxy服务,它转发所有的请求至后端监听在127.0.0.1:8000上的"server". glob ...
- 关于RM中的X3014错误,以及mul() 、天空盒
关于 error X3014: incorrect number of arguments to numeric-type constructor 这个错误应该是某个类似float4 这样的变量初始 ...
- 中断一个telnet连接
假如我要telnet一个端口通不通,测试通过之后后出现黑屏的界面 这时候需要按下ctrl+] 组合键 然后输入 quit 即可退出telnet窗口,可以继续测试下一个端口~
- 关于junk jack
旨在利用一切物品打造你自己的世界.你需要砍树获得木头,挖各种矿石用火炉炼成不同东西,顺便得到不同颜色材质的石头建房子,打各种家禽获得吃的甚至烘焙.养起来繁殖,天上掉下的星星.捡到圣诞礼包中的袜子都可以 ...
- Swift中格式化日期
Swift语言中格式化日期跟其它编程语言很相似: var dformatter = NSDateFormatter() dformatter.dateFormat = "yyyy年MM月dd ...
- removeLineEndSpace
/****************************************************************************** * removeLineEndSpace ...