어떻게 디버깅할 수 있습니 PHP CLI 스크립트와 xdebug?
문제
나는 생각하지 않은 이니다.매 작품의 설명서를 발견했을 사용하는 방법을 설명합니다 xdebug 디버깅하는 스크립트를 실행에서 아파치.내가 필요로 디버깅하 php CLI 스크립트입니다.
그래서 예를 들어,어떻게 통과하는 XDEBUG_SESSION_START 변수에서 얻을 수 xdebug 에 킥?
저는 특별히 디버깅하 cakephp 의 쉘입니다.그래서 사람이 어떤가있는 경우 추가적인 통찰력으로 내가 아주 감사하다.
감사합니다.
해결책
그것에 대한 몇 가지 메모가 있습니다 Xdebug의 매뉴얼, 예를 들어 (인용) :
export XDEBUG_CONFIG="idekey=session_name"
php myscript.php
Eclipse PDT를 사용하여 PHP 스크립트를 개발하고 디버깅하는 경우 Apache 또는 CLI 사이에 큰 차이가 없습니다. 구성 lloks는 매우 동일합니다. 웹 서버를 구성하거나 URL을 표시 할 필요가 없습니다. 대신, PHP 실행 파일의 경로를 표시해야합니다.
대한 XDEBUG_SESSION_START
변수 : 글쎄, 당신은 "디버그 모드"에서 전체 스크립트를 시작하므로 "디버깅 세션"이라는 개념이 없습니다.
예를 들어, 여기에 무엇이 있습니다 Window > Preference > PHP > PHP executables
지금은 나를 위해 보이는데, 오른쪽에서 클릭 할 때 얻는 것은 Edit
첫 번째 버튼 :
(원천: Pascal-Martin.fr)
(원천: Pascal-Martin.fr)
그리고 debug configurations
창문 :
(원천: Pascal-Martin.fr)
디버깅 시작 : 그것은 단지 작동합니다.
(원천: Pascal-Martin.fr)
도움이 되었기를 바랍니다 :-)
그렇지 않으면 어떤 특정한 문제가 발생합니까?
다른 팁
를 사용하는 경우 bash(또는 이와 유사한 포탄),이 작은 스크립트 유용하게 사용할 수 있습니:
alias drush-debug=drd
function drd {
export XDEBUG_CONFIG="idekey=cli_session"
export SERVER_NAME="developer.machine"
export SERVER_PORT="9000"
drush "$@"
unset XDEBUG_CONFIG
unset SERVER_NAME
unset SERVER_PORT
};
또는 제안에 의하여 아래 주석가
alias drd='XDEBUG_CONFIG="idekey=PHPSTORM" drush "$@"'
이 방법은 당신이 없을 수동으로 설정하고 설정된 트리거의 변수가 각각의 시간을 당신이 원하는 디버그.
다음 섹션을 php.ini에 넣으십시오
[XDebug]
xdebug.max_nesting_level = 200
xdebug.remote_enable=1
xdebug.remote_port=9000
;xdebug.profiler_enable=1
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=1
phpstorm을 IDE 키로 바꾸십시오