드디어! 디버깅이 가능해졌다!
왜 xDebug는 이렇게 설정이 복잡할까ㅠㅠ
java가 문득 그리워진다ㅠㅠ
1. xDebug 설치 (두 가지 방법)
| Homebrew 이용
1) 터미널을 켜서 프로젝트 경로로 감
2) php 버전을 찾음
$ php --version
3) $ brew install php<php-version>-xdebug
예) php 버전이 5.6.xx 라면 인스톨 명령은 $ brew install php56-xdebug 가 된다.
4) 제대로 설치가 된건지 확인하려면 phpinfo()페이지를 띄워서 xdebug를 찾아보자. 존재하면 설치 된 것! :-0
| 홈페이지 이용
1) phpinfo() 띄우기
2) http://xdebug.org/wizard.php 에서 1번에서 띄운 페이지 전체 복사 후 붙이기
3) 여기서 권장하는대로 따라하면 설치된다.
참고로 windows 는 그냥 다운받은 파일만 사용하면 되지만, mac os의 경우 조금 복잡하다 ㅠㅠ
설치 중 phpize 라는 명령어를 제대로 쓰려면 php5-dev 패키지가 있어야한다고 함.
리눅스나 centos는 설명이 잘 나와있지만 mac os 의 경우는 잘 안나와 있으니 이곳을 참고 하자.
여기에서 php 패키지를 다운받을 수 있음!
*) Homebrew로 설치 했을 때 xdebug.so 파일은 /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini 파일안에 경로가 매핑 되어있다.
다운로드를 이용한 설치는 /usr/local/Cellar/php56/5.6.xx/lib/php/extensions/no-debug-n..../xdebug.so 에 설치되어있다. 물론, 사용자마다 다르겠지만 후에 이 경로를 매핑시켜줘야 xdebug를 찾을 수 있다.
즉, Homebrew 설치시에는 이미 매핑되어있어서 php.ini에 경로를 적어주지 않아도 되지만, 다운로드를 이용한 설치의 경우 매핑시켜야 하므로 경로를 php.ini에 적어줘야한다.
2. IDE(Intellij), php와 연결
1) Intellij의 preferences를 열고 Debug의 설정부분을 다음과 같이 맞춘다.
2) php.ini 파일을 연다.
(phpinfo()에 보면 php.ini 파일의 경로를 알 수 있다. 혹은 IDE 로 열면 간편하다. )
CLI interperter의 ... 버튼을 클릭하면 다음과 같이 창이 뜨는데, php를 연결하고 open in Editer를 클릭하면 IDE를 통해서 열수있다.
3) zend 로 시작하는 것들은 모두 ; 를 이용해서 주석처리해준다.
4) 맨 아래에 다음과 같이 적어준다. (빨간색으로 표시한 zend_extension의 경로는 자신의 pc에 깔린 xdebug.so파일의 경로를 적으면 된다. windows 의 경우 다운받은 ~.dll 파일의 경로를 적으면 된다.
만일, homebrew로 설치했다면 적지 않아도 된다. 오히려 적으면 이미 extension이 설정되어있다고 오류가 난다.
(Cannot load Xdebug - extension already loaded)
[XDebug]
zend_extension = "/usr/local/Cellar/php56/5.6.27_4/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
3. 디버깅하기
1) run-start listening for PHP Debug Connections 클릭해서 디버깅이 시작됐을 때 잡을 수 있도록 한다.
2) 원하는 부분 코드에서 break point 걸어놓기
3) xdebug-helper 켜고 페이지 로드
4) 디버깅 시작!
*) server 문제로 오류가 생겼을 때 :
remote file path is not mapped to any file path in project 오류 뜨는 경우 생김
Use path mappings(select if the server is remote or symlinks are used) 클릭 해제
*) Run/Debug Configurations는 설정하지 않아도 무방하다.
참고 페이지
https://murze.be/2017/01/xdebug-with-laravel-valet/
http://idchowto.com/?p=19927
http://88240.tistory.com/81#recentEntries
https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm
https://www.sitepoint.com/install-xdebug-phpstorm-vagrant/
https://stackoverflow.com/questions/17715128/xdebug-phpstorm-waiting-for-incoming-connection-with-ide-key
'Server > PHP' 카테고리의 다른 글
[PHP] 내가 자주쓰는 날짜/시간 관련 함수 (0) | 2017.06.26 |
---|---|
[PHP] String to Date - date_parse_from_format 함수 (0) | 2017.06.22 |
windows에서 laravel설치하기 - 프로젝트 생성 (0) | 2017.06.17 |
windows에서 laravel설치하기 - 환경셋팅 (1) | 2017.06.17 |