zoukankan      html  css  js  c++  java
  • Vim+XDebug调试PHP

    1安装PHP调试环境

    安装了php-devel以后就会有phpize和php-config这两个脚本

    yum installphp-devel.x86_64


    2安装Xdebug

    2.1安装

    用yum安装可能会失败,用pecl安装成功。

    #yum installphp-pecl-xdebug.x86_64

    pecl installxdebug

    2.2修改权限

    分配共享库xdebug.so执行权限

    chmod +x /usr/lib64/php/modules/xdebug.so

    2.3修改PHP配置

    在/etc/php.d下新建配置文件xdebug.ini,加入内容如下:

    ===============================================================================

    zend_extension =/usr/lib64/php/modules/xdebug.so

    zend_debugger.allow_hosts=127.0.0.1

    zend_debugger.expose_remotely=always

    zend_debugger.httpd_uid=-1

    xdebug.auto_trace = on

    xdebug.auto_profile = on

    xdebug.collect_params = on

    xdebug.collect_return = on

    xdebug.profiler_enable = on

    xdebug.trace_output_dir = "/tmp"

    xdebug.profiler_output_dir ="/tmp"

    xdebug.dump.GET = *

    xdebug.dump.POST = *

    xdebug.dump.COOKIE = *

    xdebug.dump.SESSION = *

    xdebug.var_display_max_data = 4056

    xdebug.var_display_max_depth = 5

    xdebug.remote_enable=on       

    xdebug.remote_handler=dbgp

    xdebug.remote_host=127.0.0.1

    xdebug.remote_port=9010

    xdebug.remote_autostart=1

    ===============================================================================

    标红的是关键内容,配置了xdebug.so的位置,并使xdebug开启远程调试模式。remote_port一项与后面将要讲到的Vim配置或者IDE配置一定要一致。

    2.4验证安装成功

    访问测试页http://localhost/test.php,查看phpinfo()函数的输出中是否包含xdebug。



    3安装Vim调试插件

    3.1下载安装

    Vim支持Xdebug的插件在这:

    http://www.vim.org/scripts/script.php?script_id=1929

    解压后,拷贝插件中的plugin文件夹到到.vim下。

             mkdir.vim

             cp–r debugger/* .vim/

    3.2修改默认端口

    在/home/user下,新建.vimrc文件,加入配置如下:

    let g:debuggerPort = 9010

    注意:要与xdebug.ini中端口配置一致。


    4调试示例

    以/export/data/discuz/test.php为例(/export/data/discuz是我的Discuz!X根目录)。

    test.php内容如下:

    ===============================================================================

    <?php

           phpinfo();

           $name = "cdai";

           print("hello {$name}");

    ?>

    ===============================================================================

    用vim打开test.php,切换到print("hello {$name}"); 这一行,输入:Bp命令加上断点。

    F5开始监听,此时需要在五秒钟内用浏览器访问test.php页。

             http://localhost/test.php?XDEBUG_SESSION_START=1

    注意:Url中一定要加上XDEBUG_SESSION_START=1参数开启调试。

    输入Url后,调用就会停在断点那一行了。截图如下:


    附:调试基本操作

    [ Function Keys ]

     

     

    <F1>

    resize

    调整窗口大小

    <F2>

    step into

     

    <F3>

    step over

     

    <F4>

    step out

     

    <F5>

    run

     

    <F6>

    quit debugging

     

    <F11>

    get all context

    获取所有变量内容

    <F12>

    get property at cursor

    获取当前光标变量

    [ Normal Mode ]

     

     

    ,e

    eval

     

    [ Command Mode ]

     

     

    :Bp

    toggle breakpoint

     

    :Up

    stack up

     

    :DN

    stack down

     

    参考文章

    1利用Vim+XDebug在Linux上调试PHP

    http://lds2008.blogbus.com/logs/115127244.html

    2 Vim+XDebug调试PHP

    http://xiaobin.net/201007/using-vim-and-xdebug-to-debug-php-code/

  • 相关阅读:
    CentOS(九)--与Linux文件和目录管理相关的一些重要命令①
    CentOS(八)--crontab命令的使用方法
    CentOS(七)--Linux文件类型及目录配置
    CentOS(六)--Linux系统的网络环境配置
    ActionBar实现顶部返回键,顶部按钮
    安卓---高德地图API应用
    安卓---achartengine图表----简单调用----使用view显示在自己的布局文件中----actionBar的简单设置
    安卓访问webAPI,并取回数据
    webAPI---发布(IIS)--发布遇到问题(500.19,500.21,404.8,404.3)
    安卓----短信验证(借用第三方平台)
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157748.html
Copyright © 2011-2022 走看看