필요할 때만 xdebug 열기

4107 단어 PHPxdebug
xdebug를 사용하는 PHP는 매우 느리게 작동합니다.원래 xdebug가 필요한 것은 테스트 덮어쓰기, 프로필 가져오기, 추적 등 디버깅을 실행할 때만 가능합니다.
필요할 때만 xdebug를 켜서 평소에 xdedug이 없는 PHP를 하는 방법을 소개합니다.

xdebug 닫기


평상시 휴식.php --inixdebug에 있습니다.ini의 위치를 검색하고 평론을 발표합니다.
xdebug.ini
;zend_extension = "/path/to/my/xdebug.so"

테스트 덮어쓰기


측정 범위는 xdebug보다 빠르고 Phpdbg보다 빠릅니다.
  • https://dev.to/swashata/setup-php-pcov-for-5-times-faster-phpunit-code-coverage-3d9c
  • https://y-ahiru.hatenadiary.jp/entry/2019/08/07/020039
  • pcov 설치 방법
  • https://github.com/krakjoe/pcov/blob/develop/INSTALL.md
  • composer.json에서 테스트 덮어쓰기를 추가할 때의composier 명령을 추가합니다.pcov와 xdebug의 실행을 동시에 기록함으로써 서로 다른 환경에서 덮어쓰는 방법을 선택할 수 있습니다.
    {
        "scripts" :{
            "pcov": ["php -d pcov.enabled=1 ./vendor/bin/phpunit --coverage-text --coverage-html=build/coverage --coverage-clover=coverage.xml"],
            "coverage": ["php -dzend_extension=xdebug.so ./vendor/bin/phpunit --coverage-text --coverage-html=build/coverage --coverage-clover=coverage.xml"],
        }
    }
    
    phpunit.xml.dist <logging> 항목은 phpunit만 실행할 때 Xdebug에서 읽지 않은 경고를 보내고 삭제합니다.<logging>의 항목을 삭제합니다.
    composier 명령을 통해 실행합니다.

    pcov의 상황

    composer pcov
    

    xdebug의 경우

    composer coverage
    

    PhpStorm


    Phptorm에서 트리거를 사용하여 시구와 걸음걸이 추적을 하기 위해 xdebug.읽기 so로 설정합니다.
    Language & Frameworks > ... > PHP > CLI Interpreter > "..."에 CLI Interpreter 화면이 표시되고 Debugger extension에서 xdebug가 표시됩니다.so 를 입력합니다.

    디버그에 버전 번호가 있으면 인식됩니다.

    Travis CI


    테스트를 실행하기 전에 xdebug를 뜯어내세요.
    before_install:
      - phpenv config-rm xdebug.ini || true
    
    jobs에 덮어쓰기 테스트를 추가합니다.
    jobs:
      include:
        - stage: Code Quality
          name: Code coverage
          php: 7.4
          install:
            - pecl install pcov
          script:
            - ./vendor/bin/phpunit -v --coverage-clover ./build/logs/clover.xml --coverage-text
          after_success:
            - bash <(curl -s https://codecov.io/bash) -cF php
    
    속도가 대폭 상승하다.

    좋은 웹페이지 즐겨찾기