이 기사에서는 매우 사용하기 쉬운 phpstorm 디버그 도구를 제공합니다. 일반적으로 개발 중에 누군가가 디버깅을 위해 xdebug 확장 프로그램을 설치하고 phpstorm에서 xdebug를 구성하도록 선택할 수 있습니다.
보통 개발 중에는 디버깅이 필요할 때가 항상 있습니다. var_dump 및 die와 같은 수동 중단 방법은 항상 시간이 많이 걸리고 노동 집약적이며 이때 누군가가 xdebug를 설치하도록 선택할 수 있습니다. 확장명. phpstorm에서 디버그를 위해 xdebug를 구성합니다.
그러나 swoole 프레임워크를 사용하고 swoole 프레임워크에서 코드를 디버그해야 하는 경우 xdebug는 swoole에서 사용할 수 없으며 swoole과 충돌합니다.
그런 다음 fpm 프레임워크 및 swoole 프레임워크와 호환되는 비교적 사용하기 쉬운 디버깅 도구인 yasd를 찾았습니다.
2 Github
brew install boost
3에서 yasd 소스 코드를 다운로드합니다. yasd를 설치하세요
git clone https://github.com/swoole/yasd.git
4. php.ini
cd yasd phpize --clean && \ phpize && \ ./configure && \ make clean && \ make && \ make install
zend_extension="yasd.so" ;命令行调试 ;yasd.debug_mode=cmd ;远程调试 yasd.debug_mode=remote ;本地开发地址 yasd.remote_host=127.0.0.1 ;本地开发监听端口 yasd.remote_port=9000
3. 테스트 디버깅
Laravel에서 테스트 명령 작성➜ yasd php --ri yasd yasd Yasd => enabled Author => codinghuang <codinghuang@qq.com> Version => 0.3.9-alpha Built => Jan 15 2022 14:09:47 Directive => Local Value => Master Value yasd.breakpoints_file => no value => no value yasd.debug_mode => remote => remote yasd.remote_host => 127.0.0.1 => 127.0.0.1 yasd.remote_port => 9000 => 9000 yasd.depth => 1 => 1 yasd.log_level => -1 => -1 yasd.max_executed_opline_num => 0 => 0 yasd.init_file => no value => no value yasd.open_extended_info => 0 => 0 xdebug.coverage_enable => 1 => 1 xdebug.profiler_enable => 1 => 1 xdebug.remote_autostart => 1 => 1 xdebug.remote_connect_back => 0 => 0 xdebug.remote_mode => req => req xdebug.idekey => hantaohuang => hantaohuang
Hyperf 프레임워크 디버깅위에 언급된 디버깅은 fpm. 다음으로 Hyperf 프레임워크에서 디버깅하는 방법에 대해 이야기하겠습니다
주의 사항1. Hyperf에서 사용하려면 config.php의 scan_cacheable 매개변수를 true로 설정해야 합니다. 이 매개변수는 프록시 클래스를 스캔할지 여부입니다. . true로 설정하면 프록시 클래스를 다시 검색하고 생성하는 대신 캐시 프록시 클래스가 시작될 때마다 직접 검색됩니다.
true로 설정한 후에는 코드를 수정할 때마다 프록시 클래스인 Composer dump-autoload -o를 수동으로 생성한 후 시작해야 한다는 점에 유의하세요.
또는 프록시 클래스에서 직접 코드를 수정하세요. 디버깅이 완료되면 프록시 클래스의 코드를 실제 클래스에 복사하세요.프록시 클래스 생성 경로는 Runtime/container/proxy
2입니다. Swoole Server가 Hyperf 프레임워크에서 사용되는 경우 Worker_num을 1로 설정해야 하며, 그렇지 않으면 중단점이 적용되지 않을 수 있습니다. 이 매개변수는 server.php에 있습니다.남은 디버깅은 위에서 언급한 내용과 다르지 않습니다.
추천 학습: "phpstorm 튜토리얼"
위 내용은 phpstorm 디버그 도구 yasd에 대한 자세한 소개(사용하기 매우 쉽습니다)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!