• vim+XDebug调试PHP


    转(http://blog.csdn.net/dc_726/article/details/8809696)

    1、2两步  我的开发机已经有了,跳过, 配置之前检查自己的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(或直接在php.ini 追加),加入内容如下:

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

    [xdebug]
    xdebug.defalut_enable=on
    zend_extension = /home/rong/php-5.5.16/lib/php/extensions/no-debug-non-zts-20121212/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文件夹到到xxx/vim/plugins/下。

             cp–r debugger/* xxx/vim/plugins/

    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/

  • 相关阅读:
    ProxySQL结构
    Kubernetes 零宕机滚动更新
    Promtail Pipeline 日志处理配置
    Fluentd 简明教程
    innodb_flush_log_at_trx_commit 和 sync_binlog 参数详 解
    AlertManager 何时报警
    ProxySQL 全局变量详解
    ProxySQL SQL 注入引擎
    ProxySQL SSL 配置
    ProxySQL 密码管理
  • 原文地址:https://www.cnblogs.com/hlongch/p/6530455.html
Copyright © 2020-2023  润新知