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的更多相关文章

  1. XAMPP PHPSTORM XDEBUG 配合使用

    1.xdebug 配置 安装完xampp 进入 php.ini [XDebug]zend_extension = "C:\xampp\php\ext\php_xdebug.dll" ...

  2. 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 ...

  3. PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

    这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   笔者的开发环境如下:Windows8.1+Apache+P ...

  4. PhpStorm, XDebug, and DBGp Proxy

    phpstorm 利用 xdebug.dbgp-proxy配置远程调试 1.单客户机远程调试 a.安装xdebug库文件(windows:php_xdebug.dll;linux:php_xdebug ...

  5. 使用 PHPStorm + Xdebug 实现断点调试(二)

    一.配置 Xdebug 配置 Xdebug 相关参数,在 php.ini 文件中新增如下配置,如果没安装的,请参考<PHP 安装 Xdebug扩展>: [xdebug] xdebug.re ...

  6. PhpStorm+xdebug调试——更新

    之前写过一篇<PhpStorm+xdebug+postman调试>,但是经过后来一段时间的使用,发现有些累赘.这里介绍一种比较简单方便的操作. 在上一篇文章中有一段“ 7.设置Server ...

  7. PhpStorm+xdebug+postman调试

    PhpStorm+xdebug+postman调试 写PHP时,一直用postman做测试,最近发现在测试过程中可以用xdebug来断点调试,比原来手动打exit或者die来断点效率高多了. 下面记录 ...

  8. macOS 下 PHPStorm + Xdebug 调试 Docker 环境中的代码

    0x00 描述 宿主机是 mac mini,构建的项目在 docker 中,所以需要在 PHPStorm 上配置 Xdebug 进行远程代码调试. 0x01 环境 宿主机:macOS High Sie ...

  9. phalcon断点调试(phpStorm+xdebug)

    1.下载并添加chrome插件xdebug helper,下载地址:http://www.downcc.com/soft/261091.html 2.php添加xdebug扩展 mkdir -p /u ...

  10. 转:PHPStorm+XDebug进行调试图文教程

    原文:PHPStorm+XDebug进行调试图文教程 一.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行. ...

随机推荐

  1. 14 printf输出格式及栈空间分配

    假设在一个32位的 little endian的机器上运行下面程序,输出结果:1 0 2 #include<stdio.h> int main() { ,b=,c=; printf(&qu ...

  2. 传递数据后创建后台service来处理事件!

    package com.lixu.service; import android.app.Service; import android.content.Intent; import android. ...

  3. python 安装 scapy windows 10 64bit

    简介: 前段时间装的pypcap做嗅探.打包受阻.因为我都是在windows做的.也要打包到exe给别人用. 所以尝试了一下scapy,也可以嗅探,貌似功能更强大.先用sniff吧. 这个也不是在ve ...

  4. Java 线程面试题 Top 50

    --> Java 线程面试题 Top 50 html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1. ...

  5. 【DevExpress v17.2新功能预告】增强ASP.NET GridView的功能

    在下一个主要版本v17.2中,我们将为DevExpress ASP.NET GridView添加一些优秀的新功能.在本文中为大家介绍的所有功能都可用于 GridView的ASP.NET WebForm ...

  6. log4j的配置详解(转)

    转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html 最近使用log4j写log时候发现网上的写的都是千篇一律,写的好的嘛不全,写的全一点的嘛 ...

  7. 全球DEM数据GMT绘制

    http://gmt-china.org/download/

  8. array_merge、array_merge_recursive

    原文:http://www.111cn.net/phper/php/61889.htm    我在php学习在使用到最多的数据合并方法就是array_merge.array_merge_recursi ...

  9. Linux更改中国时区

    执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, ->然后输入1 再执行 ln -sf /usr/share/ ...

  10. 深入理解uwsgi和gunicorn网络模型

    前言: 去年10月份建了一个python技术群,到现在为止人数已经涨到700人了.最一开始我经常在群里回应大家的问题,不管是简单还是困难的,我都会根据自己的经验来交流. 让人新奇的是一些初学者关注最多 ...