zoukankan      html  css  js  c++  java
  • 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,如下图所示:

    Deployment设置

    Server设置

    定位到“Languages & Frameworks > PHP > Servers”配置,添加一个服务器配置,Name自定义(我这里用localhost),Host为localhost(本机调试),Port(端口)设置为80,Debugger选择Xdebug即可。

    Server设置

    配置完成后可以验证一下是否配置成功,点击本配置界面中的“Validate remote environment”按钮,在弹出的对话框中选择“Deployment设置”步骤中设置的部署项目(这里为sycms),在对话框的Information区域没有出现错误信息即表示Servers设置正确。

    这里写图片描述

    Debug设置

    找到Languages & Frameworks > PHP > Debug配置,将Debug port设置为9000(与php.ini配置文件中的端口设置保持一致)。

    Debug设置

    然后展开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

    参考资料

    版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    vmware和主机通信方法
    曾经的读书计划
    Linux下的autoconf和automake
    Nor Flash读写方法
    Linux下的动态库和静态库
    asp.net读取Xml文件到DataSet,以及DataSet保存为Xml,利用自带的强大功能
    SqlServer 2000/2005 列转行 行转列收集
    GridView 模板列 在后台获取该行某控件的值 例如批量修改
    C# DllImport的用法 调用Window的一些常用功能
    C#通用数据库操作类 支持Access/MSSql/Orale/MySql等数据库
  • 原文地址:https://www.cnblogs.com/duanweishi/p/7678567.html
Copyright © 2011-2022 走看看