• PHPStorm + Xdebug 调试PHP代码 有大用



    PHPStorm + Xdebug 调试PHP代码

    http://e.v-get.com/2013-11-20 16:55:48 E维科技

    之前一直通过echo,var_dump,print_r等将变量输出来调试PHP,效率奇低。而使用Xdebug,就可以直接在IDE中调试PHP了。

    安装和配置XDEBUG

    如果不熟悉Xdebug安装与配置的,可以参考《Windows下 Xdebug PHP 性能调试工具配置与使用方法》,按照文章中安装和配置完Xdebug后,再修改 php.ini ,再添加下面关联PHPStorm内容:

    [Xdebug]
    zend_extension="/usr/local/webserver/php/lib/php/extensions/xdebug.so"
    xdebug.remote_enable=on
    ; 此地址为IDE所在IP,本机为 127.0.0.1
    xdebug.remote_host=127.0.0.1
    xdebug.remote_port=9000
    ; 可以是任意Key,这里设定为PHPSTORM
    xdebug.idekey="PHPSTORM"
    

    配置 PHPStorm IDE

    这里用的IDE是PHPStorm,所以以下配置均根据PHPStorm进行,其他如Netbean和Eclipce类似。在PHPStorm中进入配置:

    PHPStorm + Xdebug 调试PHP代码
    PHPStorm + Xdebug 调试PHP代码

    配置浏览器

    Firefox浏览器可以安装 easy Xdebug ,Chrome上安装 Xdebug helper 。安装好后,在IDE Key 上填上 PHPSTORM (需要和配置一样)即可。

    Firefox 下的 easy Xdebug 配置
    Firefox 下的 easy Xdebug 配置

    Chrome 下的 Xdebug helper 配置
    Chrome 下的 Xdebug helper 配置

    开始DEBUG

    设置完成后,在PHPStorm里添加相应的断点,然后用刚配置好的浏览器访问相应页面,首次打开PHPStorm会提示是否接收来自PHP所在服务器的连接。如下图,Debugger窗口已经出现了调试信息:

    PHPStorm Xdebug 显示
    PHPStorm Xdebug 显示

    作者观点与本站无关,转载需保留E维科技及本文链接,并获得V-Get!授权。未经授权,严禁转载!

    来自 http://e.v-get.com/tech/20131120/1655481151.html
    来自 http://solf.me/debug-php-with-xdebug-in-phpstorm/
    来自 http://solf.me/debug-php-with-xdebug-in-phpstorm/
    来自 http://jikewu.com/2013/08/15/phpstorm%E8%B0%83%E8%AF%95-php-web-%E5%BA%94%E7%94%A8/
    来自 http://blog.csdn.net/edisonkun/article/details/7888569


     

    phpstorm + xdebug 远程断点调试,详解。

    分类: php  575人阅读 评论(0) 收藏 举报

    XDEBUG配置:

    1.安装 xdebug 略了。网上有很多资料。

     

    重点写php.ini的配置

     [XDebug]
       zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
       xdebug.default_enable = On
       xdebug.collect_params = On

     xdebug.remote_connect_back = On           //如果开启此,将忽略下面的 xdebug.remote_host 的参数。 <一台webserver有多个开发者的工作目录的时候使用,如:p1.xx.com,p2.xx.com,p3.xx.com 。。。等。 >
       xdebug.remote_host = 192.168.59.104    //注意这里是,客户端的ip<即IDE的机器的ip,不是你的web server>
       xdebug.remote_port = 9900                       //      注意这里是,客户端的端口<即IDE的机器的ip,不是你的web server>
       xdebug.remote_enable = On
      xdebug.remote_handler = dbgp
      xdebug.remote_log = "/var/www/xdebug/xdebug.log"
     xdebug.remote_req = req
     xdebug.auto_trace = Off
     xdebug.remote_autostart = On
     xdebug.show_exception_trace = 0
     xdebug.collect_vars = On
     xdebug.collect_return = On
     xdebug.collect_params = On
     xdebug.var_display_max_depth = 15
     xdebug.show_local_vars = 1
     xdebug.dump_undefined = 1
     xdebug.profiler_enable = 1
     xdebug.profiler_output_dir = /var/www/xdebug

     

    PHPSTORM 配置:
    1.file->setings->php|Debug右侧。xdebug的那一块。 设置Debug port:9900(这里设置 的是,xdebug 吐出的debug信息,通过本机的什么端口传输。)

    2.file->setings->php|Servers  右侧。  host: 你的web服务器的域名或ip ,端口,  下面的 use path mapping  意的是,你的项目的目录,对应服务器上的,什么目录?   这里一定要设置哦! 不然,会发生找不到文件而出错,导至调试终止。

    3.Run->Edit Configurations-> 增加一个 PHP WEB APPlication 的调试点。  右侧: server 选择你上面建立的server.  starturl 设置你的入口文件。

    至此,配置完毕!

     

    这样的请求,可以注册一个调试客户端哦!

    http://www.aihuxi.com/****.php?XDEBUG_SESSION_START=19192


    点击,小虫子图标,即可,开始调试!

    来自 http://blog.csdn.net/edisonkun/article/details/7888569



    XAMPP环境下用phpStorm+XDebug进行断点调试的配置

    发表于 2012-07-11 | 分类: PHP | 标签: 

    折腾了整整一个下午,总算完成了phpStorm+XDebug的断点调试设置。下面情况针对本机进行调试,远程调试差距不大。

    具体过程:

    1. 服务器端(本地调试的情况下就是在本机)安装好XAMPP,停止apache服务(注意,如果直接退出XAMPP,是不会停止apache的)
    2. 在安装目录下找到php.ini,类似于D:xamppphpphp.ini,并打开
    3. 找到被注释掉的项目并按如下设置:

      其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port 是客户端的端口,这两项在远程调试的情况下注意修改

      1. zend_extension = "D:xamppphpextphp_xdebug.dll"(根据实际情况确定)
      2. xdebug.remote_enable =1
      3. xdebug.remote_handler = "dbgp"
      4. xdebug.remote_host = "localhost"
      5. xdebug.remote_mode = "req"
      6. xdebug.remote_port = 9000
    4. 保存文件,打开apache,这时候在CMD里输入 D:xamppphpphp.exe -m 看到XDebug,说明开启成功。至此,服务器端配置完毕
    5. 下面是客户端调试,打开phpStorm,进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug
    6. 进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认
    7. 进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80
    8. 点OK退出设置。
    9. 打开浏览器,如果是用chrome或者Firefox可以找到对应的XDebug工具,工具的设置里的IDE KEY填上phpStorm,把localhost加入到白名单,以后调试的时候把工具启用就好了。如果是用其他浏览器,可以访问http://www.jetbrains.com/phpstorm/marklets/,在右边填上phpStorm,点generate,把下面的链接添加到收藏夹,方便调用。
    10. phpStorm里打开监听,就是一个电话一样的按钮。
    11. 在浏览器里打开XDebug工具,访问localhost,与phpStorm连接成功!
    来自 http://www.chenxuanyi.cn/xampp-phpstorm-xdebug.html


     

    XAMPP环境下用phpStorm+XDebug进行断点调试的配置

    发表于 2012-07-11 | 分类: PHP | 标签: 

    折腾了整整一个下午,总算完成了phpStorm+XDebug的断点调试设置。下面情况针对本机进行调试,远程调试差距不大。

    具体过程:

    1. 服务器端(本地调试的情况下就是在本机)安装好XAMPP,停止apache服务(注意,如果直接退出XAMPP,是不会停止apache的)
    2. 在安装目录下找到php.ini,类似于D:xamppphpphp.ini,并打开
    3. 找到被注释掉的项目并按如下设置:

      其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port 是客户端的端口,这两项在远程调试的情况下注意修改

      1. zend_extension = "D:xamppphpextphp_xdebug.dll"(根据实际情况确定)
      2. xdebug.remote_enable =1
      3. xdebug.remote_handler = "dbgp"
      4. xdebug.remote_host = "localhost"
      5. xdebug.remote_mode = "req"
      6. xdebug.remote_port = 9000
    4. 保存文件,打开apache,这时候在CMD里输入 D:xamppphpphp.exe -m 看到XDebug,说明开启成功。至此,服务器端配置完毕
    5. 下面是客户端调试,打开phpStorm,进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug
    6. 进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认
    7. 进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80
    8. 点OK退出设置。
    9. 打开浏览器,如果是用chrome或者Firefox可以找到对应的XDebug工具,工具的设置里的IDE KEY填上phpStorm,把localhost加入到白名单,以后调试的时候把工具启用就好了。如果是用其他浏览器,可以访问http://www.jetbrains.com/phpstorm/marklets/,在右边填上phpStorm,点generate,把下面的链接添加到收藏夹,方便调用。
    10. phpStorm里打开监听,就是一个电话一样的按钮。
    11. 在浏览器里打开XDebug工具,访问localhost,与phpStorm连接成功!
    来自 http://www.chenxuanyi.cn/xampp-phpstorm-xdebug.html
  • 相关阅读:
    介绍Collection框架的结构;Collection 和 Collections的区别
    Mybites和hibernate的优缺点和区别2
    Mybites和hibernate的优缺点和区别
    AJAX如何获取从前台传递过来的数据然后在通过servle传递给后台
    list map set 集合的区别
    乐观锁和悲观锁的区别
    python生产消费Kafka
    python类型转换
    python实现远程方法调用
    Scala常用数据结构
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879380.html
Copyright © 2020-2023  润新知