Vessel에서 Laavel의 단계 실행을 멈출 수 없으면 Xdebug 버전을 확인하십시오
개요
Vessel의 PHP 환경에 설치된 Xdebug의 주요 버전 업그레이드 때문에 원격 패키지의 절차 실행을 멈출 수 없습니다.
단계를 수행하려면 Vessel 설정을 Xdebug3에 해당하는 내용으로 변경해야 합니다.
이른바 Vessel
Vessel은 Docker를 사용하는 Laavel의 응용 개발 환경입니다.
Vessel - Docker dev environments for Laravel
Xdebug
PHP 디버깅용 확장 모듈
Xdebug - Debugger and Profiler Tool for PHP
단계 실행을 중지할 수 없는 이유
Xdebug3의 변경 사항
Upgrading from Xdebug 2 to 3
요점.
1. 단계를 효과적으로 수행하도록 설정이 바뀌었다
Xdebug 2 :
xdebug.remote_enable = 1
Xdebug 3 : xdebug.mode=debug
2. Xdebug에서 연결된 주소의 설정 항목이 변경되었습니다.
Xdebug 2 :
xdebug.remote_host = ホスト名/IPアドレス
Xdebug 3 : xdebug.client_host = ホスト名/IPアドレス
3. Xdebug에서 연결된 포트의 설정 항목과 포트 번호가 변경되었습니다.
Xdebug 2 :
xdebug.remote_port = 9000
Xdebug 3 : xdebug.client_port = 9003
Xdebug3의 개념 설정
모든 기능이 설정에서 유효화된 Xdebug2는 Xdebug3에서 '모드' 를 지정해서 목적 상태를 설정합니다.이 모드는
xdebug.mode
입니다.그리고
remote_*
의 설정 항목은 client_*
이 되었다.Xdebug2에서 수중에 있는 개발 환경은 Xdebug에서 본'원격'이라는 뜻이다
Xdebug3은 Xdebug이 "서버"에서 실행되고 개발되는 로컬 환경이 "클라이언트"라는 뜻이죠.
나는 직관적이고 이해하기 쉽다고 생각하지만, 호환성은...
Vessel 설정을 Xdebug3에 맞추려면
Vessel의 개발 환경 만들기
우선 일반적인 절차에 따라 Vessel의 개발 환경을 제작한다.
↓ 공식 사이트의 절차는 다음과 같다
Getting Started
개발 환경이 완성되면 응용이 제대로 작동하는지 확인한다.
Xdebug 설정 변경
설정을 수정할 파일
docker/app/xdebug.ini
% tree
.
├── LICENSE
├── README.md
├── app
├── artisan
├── bootstrap
├── composer.json
├── composer.lock
├── config
├── database
├── docker
│ ├── app
│ │ ├── Dockerfile
│ │ ├── default
│ │ ├── h5bp
│ │ ├── start-container
│ │ ├── supervisord.conf
│ │ ├── vessel.ini
│ │ └── xdebug.ini ← このファイルを編集する
│ ├── mysql
│ │ ├── conf.d
│ │ └── logs
│ └── node
│ └── Dockerfile
├── docker-compose.yml
├── package.json
├── phpunit.xml
├── public
├── resources
├── routes
├── server.php
├── storage
├── tests
├── vendor
├── vessel
└── webpack.mix.js
Xdebug3 설정
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.remote_connect_back=0
xdebug.idekey=docker
xdebug.remote_host=192.168.1.2
xdebug.max_nesting_level = 500
; ↑ XDebug 2 の設定
; XDebug 3 の設定 ※ここを追加する
xdebug.mode = debug
xdebug.client_host = host.docker.internal ← コンテナから見たホストのIPアドレス
; xdebug.client_port = 9000 ← XDebug 2 と同じポート 9000 に接続する場合はここで指定
host.docker.internal
는 용기에서 본 호스트의 IP 주소를 자동으로 해결하는 설정입니다.변경 사항을 반영하는 설정
xdebug.ini
의 설정을 반영하기 위해 용기를 구축하고 다시 시작합니다../vessel stop
./vessel build
./vessel start
IDE를 통해 필요한 설정
Xdebug3에 연결된 포트가
9000
에서 9003
로 변경되었기 때문에 IDE 측에서 기다리는 포트 번호도 9003
로 미리 변경되었습니다.또는
xdebug.ini
에서 Xdebug3의 연결 포트를 9000
로 변경할 수 있습니다.PhpStorp
Configure Xdebug - PhpStorm
Visual Studio
디버그 구성 파일의 설정 예
참고 자료
이 일에 관해서 나는 견본 코드를 썼다
Reference
이 문제에 관하여(Vessel에서 Laavel의 단계 실행을 멈출 수 없으면 Xdebug 버전을 확인하십시오), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/aibax/articles/vessel-configuration-for-xdebug3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)