Vdebug로 PHP 디버그

8355 단어 PHPVdebugxdebugVundle

개시하다


Vdebug를 사용하여 Vim에서 PHP를 디버깅하는 방법은 다음과 같습니다.

컨디션

  • CentOS 6.4
  • vim 7.2
  • Vundle 0.10.2
  • Vdebug 1.4.2
  • PHP 5.3
  • xdebug 2.1.4
  • Vim 설치

    $ sudo yum install vim-enhanced
    

    Vundle 설치

  • git에서clone Vundle를 시작합니다.
  • $ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
    
  • vim의pluggin 설정을 추가합니다.
  • ~/.vimrc
    set nocompatible
    filetype off
    
    set rtp+=~/.vim/bundle/Vundle.vim
    call vundle#begin()
    
    Plugin 'gmarik/Vundle.vim'
    
    call vundle#end()
    filetype plugin indent on
    

    비디오 설치


    vim의pluggin 설정을 추가합니다.
    ~/vimrc
    Plugin 'joonty/vdebug.git'
    
    플러그인을 추가합니다.
    $ vim +BundleInstall +qall
    

    PHP 및 Xdebug 설치


    yum에 설치합니다.
    $ sudo yum install php php-pecl-xdebug
    
    xdebug가 인식되었는지 확인하십시오.
    $ php -m | grep xdebug
    xdebug
    
    xdebug를 설정합니다.
    xdebug.remote_enable=1만 설정하면 기본값으로 스크립트를 디버깅할 수 있습니다.
    /etc/php.d/xdebug.ini
    ; Enable xdebug extension module
    zend_extension=/usr/lib64/php/modules/xdebug.so
    
    [debug]
    xdebug.auto_trace=0
    xdebug.cli_color=0
    xdebug.collect_assignments=0
    xdebug.collect_includes=1
    xdebug.collect_params=0
    xdebug.collect_return=0
    xdebug.collect_vars=0
    xdebug.coverage_enable=1
    xdebug.default_enable=1
    xdebug.dump.*=
    xdebug.dump_globals=1
    xdebug.dump_once=1
    xdebug.dump_undefined=0
    xdebug.extended_info=1
    xdebug.file_link_format=
    xdebug.force_display_errors=0
    xdebug.force_error_reporting=0
    xdebug.halt_level=0
    xdebug.idekey=
    xdebug.manual_url="http://www.php.net"
    xdebug.max_nesting_level=100
    xdebug.overload_var_dump=1
    
    xdebug.profiler_append=0
    xdebug.profiler_enable=0
    xdebug.profiler_enable_trigger=0
    xdebug.profiler_output_dir="/tmp"
    xdebug.profiler_output_name="cachegrind.out.%p"
    
    xdebug.remote_autostart=0
    xdebug.remote_connect_back=0
    xdebug.remote_cookie_expire_time=3600
    ;xdebug.remote_enable=0
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_host="localhost"
    xdebug.remote_log=
    xdebug.remote_mode="req"
    xdebug.remote_port=9000
    
    xdebug.scream=0
    xdebug.show_exception_trace=0
    xdebug.show_local_vars=0
    xdebug.show_mem_delta=0
    
    xdebug.trace_enable_trigger=0
    xdebug.trace_format=0
    xdebug.trace_options=0
    xdebug.trace_output_dir="/tmp"
    xdebug.trace_output_name="trace.%c"
    
    xdebug.var_display_max_children=128
    xdebug.var_display_max_data=512
    xdebug.var_display_max_depth=3
    

    PHP 스크립트 디버깅

  • xdebug를 실행하는 스크립트를 만듭니다.
  • php-xdebug
    #!/bin/bash
    export XDEBUG_CONFIG="idekey=xdebug"
    /usr/bin/php "$@"
    
  • 집행 권한을 수여한다.
  • chmod +x php-xdebug
    
    vim로 임의의 PHP 스크립트를 엽니다.
    $ vim sample.php
    
    <F10> 모든 위치에 브레이크 설정
    <F5> 디버깅을 시작합니다.

    다른 터미널에서 디버깅하는 스크립트를 실행하면 절차를 수행할 수 있습니다.
    $ ./php-xdebug sample.php
    
    <F6> 디버깅을 중지합니다.

    참고 자료

  • 빔을 도입했다.vimrc ~ CentOS 6 설정
  • Vim+Vdebug+Xdebug로 PHP 원격 디버깅
  • joonty/vdebug
  • gmarik/Vundle.vim
  • Xdebug: Documentation
  • 좋은 웹페이지 즐겨찾기