PHP

xdebug

xdebug란?

PHP 디버깅을 도와주는 디버거
http://xdebug.org/

설치 (bitnami 기준)

참고 : http://www.apaddedcell.com/easy-php-debugging-ubuntu-using-xdebug-and-vim

pecl을 이용해서 xdebug를 설치한다.

sudo pecl install xdebug

php.ini 파일에 xdebug 설정을 추가한다.

sudo vi /opt/bitnami/php/etc/php.ini

아래의 주석을 제거한다.

;[XDebug]
;; Only Zend OR (!) XDebug
;zend_extension="/opt/bitnami/php/lib/php/extensions/xdebug.so"
;xdebug.remote_enable=true
;xdebug.remote_host=127.0.0.1
;xdebug.remote_port=9000
;xdebug.remote_handler=dbgp
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir=/tmp

아파치를 재시작한다.

sudo /opt/bitnami/ctlscript.sh restart apache

리모트 디버깅을 위한 설정

vim을 최신 버전으로 업데이트 한다.

sudo apt-get update;
sudo apt-get install vim;

vim의 xdebug용 플러그인을 다운로드 받는다.
아래 URL에서 최신버전을 다운받아서 설치한다.
http://www.vim.org/scripts/script.php?script_id=1929

sudo wget http://www.vim.org/scripts/download_script.php?src_id=7285 -O debugger.zip;
sudo unzip debugger.zip -d temp_debugger;
mkdir ~/.vim;
mv temp_debugger/plugin .vim/;

파이어폭스에 xdebug helper를 설치한다.

https://addons.mozilla.org/en-US/firefox/addon/easy-xdebug/

댓글

댓글 본문
작성자
비밀번호
  1. 신입1
    넘 어렵네요 그냥 눈으로 봤어요
  2. 허민호
    xdeburg 해보느라 이틀 뻘짓했습니다
    인터넷보면서 이것저것 다해봤는데 설정이 너무 어렵고요, 결론은 리눅스 깔고 따라하시든가 (저는 가상머신깔고 리눅스깔고 해봤는데 컴이 넘 느린거같아서 포기)
    아님 아톰에디터 쓰시면 아톰 xdebug설치하셔서 하세요.. 일단 기능은 비슷한거같고 이클립스,넷빈,파이어폭스보다 쉽네요,
  3. 허민호
    아 리눅스 모르니까 스트레스 너무받네요
  4. JustStudy
    고맙습니다
  5. 다시시작
    좋은 컨텐츠 정말 감사합니다.
    저는 php_info()를 통해 xdebug가 설치된것을 확인하였고,, php.ini에 설정도 마쳤습니다.
    그리고 .vim/plugin 도 옮겼습니다.
    다 문제없이 진행하였는데,,, vim을 실행하고 <F5> 키를 치면 beep 음이 나면서 아무 반응이 없습니다.
    동영상처럼 vim 하단에 문구가 보이지 않습니다.
    제 개발서버는 aws amazone linux이구요~ 버젼도 강의하실때 보다 모두 상의 버젼이고, vim은 특별히 다시 업데이트 하였습니다. ㅜㅜ;;
    도와주세요~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6. 쥬슈야
    2번째 동영상 1분3초부분 쉘을 열어서 라고 말씀하시는데요. xshell을 어디서 설치하는지(설치방법은 어떤지)에 대한 언급이 없는 것으로 보입니다. 개발도구 - 개발도구들 - xshell 강좌 카테고리는 있는데 내용이 보이지는 않네요.
  7. 알면알수록
    맥을 사용하고 있는데...검색으로 찾아보니
    요즘 bitnami(mampstack-5.4.36-0)에 xdebug가 이미 포함되어 있더군요....
  8. 샤핀
    윈도우 환경으로 따라 오다 보니 리눅스인 경우에 xdebug에 대한 이해만 하고 넘어가야겠네요.
    찾아보니 이클립스에 플러그인 형태로 추가하면 xdebug를 이용하는 법도 있는 거 같은데, 이 부분은 일단 이클립스 php 환경을 세팅하게 되면 알아봐야 될 거 같습니다. 강의 잘 들었습니다. 감사합니다.
  9. 코코딩
    아.. 드디어 xdebug를 구현해봤습니다.
    고맙습니다.
  10. Steed
    좋은 강의 갑사합니다!
  11. DaeGyung Gang
    맥 환경에서 따라가기 힘드네요. 흐헝어엏..
  12. egoing
    저도 엄청 시행착오 많이 겪었어요. 이게 아주 편안하게 사용할 수 있는 솔루션이 아닌 것은 확실한 것 같아요. ㅠㅠ 하지만 그 열매는 달다는거~
    2012/12/24 Disqus <notifications@disqus.net></notifications@disqus.net>
    대화보기
    • Dong Gwan Kim
      zend_extension 경로를 아래분 처럼 2가지 형식으로 모두 해 보았는데도 작동 되지 않는것 같습니다.
      에고 머리에서 쥐가 나네요CentOS 에 그냥 설치해도 안되고, Xdebug 한번 구동하기가 정말 힘드네요
      대화보기
      • egoing
        아래의 댓글을 한번 참고해보시겠어요?
        http://opentutorials.org/cours...
        2012/12/24 Disqus <notifications@disqus.net></notifications@disqus.net>
        대화보기
        • Dong Gwan Kim
          좋은 정보 감사드립니다.Xdebug 를 다른곳에 설치하는 방법은 없는지요 ?CentOS 에서 xdebug 를 설치하고 실행하니, 다음과 같은 에러 메세지가 나옵니다.Connection closed, stop debugging (<class 0xb7cf377c="" at="" exceptions.attributeerror="">, <exceptions.attributeerror 0xb7beac0c="" at="" instance="">, <traceback 0xb7ccb9b4="" at="" objec="" t="">)phpinfo 에서는 xdebug 모듈을 정상적으로 출력합니다.감사합니다.</traceback></exceptions.attributeerror></class>
        • zend_extension 으로 설정했는데도 안되길래
          zend_extension=/usr/lib64/php/modules/xdebug.so 와 같이 절대 경로로 지정해 줬더니 잘 됩니다.
          확인은 콘솔 창에서 php -m 또는 php -version 에서 xdebug가 잘 로딩되어 있고, 에러 메세지가 없는걸 확인하면 되네요.
          'Failed loading xdebug.so: xdebug.so: cannot open shared object file: No such file or directory' 와 같이 나오면 안되네요 ^^
          감사합니다.
          대화보기
          • egoing
            zend_extension=xdebug.so 로 바꿔보시겠어요?
            대화보기
            • egoing
              아래와 같이 한번 해보시겠어요?zend_extension=xdebug.so
              2012/11/3 Disqus <notifications@disqus.net></notifications@disqus.net>
              대화보기
              • Centos 기반에서 php extension 폴더에 (/usr/lib64/php/modules) 에 xdebug.so 파일이 있구요 Php.ini 에서는 extension=xdebug.so 라고 적어놨습니다
                대화보기
                • egoing
                  혹시 xdebug를 php.ini에서 어떻게 로딩하고 있나요?
                  대화보기
                  • egoing
                    2012년 11월 2일 금요일에 Disqus님이 작성:
                    대화보기
                    • vim 에서
                      waiting for a new connection on port 9000 for 5 seconds...
                      Connection closed, stop debugging (<class 0x2b96cf67e6b0="" at="" exceptions.attributeerror="">, <exceptions.attributeerror 0x2b96cf87eea8="" at="" instance="">, <traceback 0x1201efc8="" at="" object="">)
                      Press ENTER or type command to continue
                      라는 메세지가 나오는데 어떻게 대응해야 할까요?</traceback></exceptions.attributeerror></class>
                    • Jae Sung So
                      잘 봤습니다. 수고하셨습니다
                    버전 관리
                    egoing
                    현재 버전
                    선택 버전
                    graphittie 자세히 보기