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匹配的版本才行. ...
随机推荐
- 14 printf输出格式及栈空间分配
假设在一个32位的 little endian的机器上运行下面程序,输出结果:1 0 2 #include<stdio.h> int main() { ,b=,c=; printf(&qu ...
- 传递数据后创建后台service来处理事件!
package com.lixu.service; import android.app.Service; import android.content.Intent; import android. ...
- python 安装 scapy windows 10 64bit
简介: 前段时间装的pypcap做嗅探.打包受阻.因为我都是在windows做的.也要打包到exe给别人用. 所以尝试了一下scapy,也可以嗅探,貌似功能更强大.先用sniff吧. 这个也不是在ve ...
- Java 线程面试题 Top 50
--> Java 线程面试题 Top 50 html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1. ...
- 【DevExpress v17.2新功能预告】增强ASP.NET GridView的功能
在下一个主要版本v17.2中,我们将为DevExpress ASP.NET GridView添加一些优秀的新功能.在本文中为大家介绍的所有功能都可用于 GridView的ASP.NET WebForm ...
- log4j的配置详解(转)
转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html 最近使用log4j写log时候发现网上的写的都是千篇一律,写的好的嘛不全,写的全一点的嘛 ...
- 全球DEM数据GMT绘制
http://gmt-china.org/download/
- array_merge、array_merge_recursive
原文:http://www.111cn.net/phper/php/61889.htm 我在php学习在使用到最多的数据合并方法就是array_merge.array_merge_recursi ...
- Linux更改中国时区
执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, ->然后输入1 再执行 ln -sf /usr/share/ ...
- 深入理解uwsgi和gunicorn网络模型
前言: 去年10月份建了一个python技术群,到现在为止人数已经涨到700人了.最一开始我经常在群里回应大家的问题,不管是简单还是困难的,我都会根据自己的经验来交流. 让人新奇的是一些初学者关注最多 ...