단위 테스트에서 중단 점으로 작업하기 위해 PHP + XDEBUG + (X) 장치 + ECLIPSE를 어떻게 설정할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/880479

문제

이것을 올바르게 작동시키기 위해 꽤 오랫동안 노력했지만 운이 좋지 않았습니다. 기본적으로 PHP 개발 도구 (PDT)와 PDT XDEBUG 플러그인과 가장 간단한 Eclipse 플러그인이있는 Eclipse (3.3)가 있습니다.

내가하고 싶은 것은 단순한 단위 테스트로 디버그 코드를 호출하는 것입니다. Code Coverage Reports를 생성 할 수 있기 때문에 SimpleTest는 XDEBUG를 명확하게 볼 수 있지만 중단 점에서는 중지되지 않습니다.

편집하다: xdebug와 브레이크 포인트가 Eclipse에서 잘 작동한다고 추가해야합니다.

누구든지 이것을 성공적으로 설정 한 적이 있습니까? 유용한 정보를 방해하는 방법에는 많은 guff 문서가 있습니다.

감사!

도움이 되었습니까?

해결책

PHP 버전에 적합한 XDEBUG 버전이 있는지 확인하고 PHP.ini 파일의 시작 부분에 추가하십시오.

[xdebug]
zend_extension=full_path_to_your_xdebug.so 
xdebug.default_enable=On
xdebug.remote_enable=On
xdebug.remote_handler="dbgp"
xdebug.remote_host="localhost"
xdebug.remote_port=9000

그런 다음하십시오 apachectl graceful 그리고 a phpinfo Xdebug가 존재하고 활성화되어 있는지 확인하십시오. 그렇다면 모든 것이 잘 작동해야합니다. 나는 그것이 나를 위해한다는 것을 안다.

편집하다: 나는 전체 질문을 읽기 전에 대답했다.

스크립트를 실행하기 전에 환경 변수를 설정해야합니다.

export XDEBUG_CONFIG="idekey=session_name"

PHP 에서이 작업을 수행 할 수는 있지만 테스트 할 수는 없습니다.

putenv('XDEBUG_CONFIG="idekey=session_name"');

사용중인 PHP BINIGHT에 XDEBUG 확장이로드되어 있는지 확인해야합니다. 내 시스템에는 Apache 모듈에 APACHE 모듈이 있지만 기본 CLI 통역사는 그렇지 않지만 의도적으로 다른 버전을 실행해야합니다.

몇 가지가 있습니다 좋은 문서 여기

다른 팁

Kris의 답변을 더 자세히 설명하려면 동일한 서버에서 생산 및 개발 환경을 관리하는 경우 Xdebug 설정을 php include 또는 당신의 사람들에게 virtualhosts 전용 dev 또는 testing 환경 :

  • VirtualHosts의 구문은입니다

    <virtualHost ....>
    
      (...)
    
      # Xdebug ENV
      php_flag xdebug.auto_trace on
      php_flag xdebug.idekey session_name
      php_flag xdebug.profiler_enable_trigger 1
      php_flag xdebug.(...)
    
      (...)
    
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top