Docker, PHPStorm, Xdebug, 권위 있는 가이드
하지만 모든 것은 대가가 있다.모든 Docker를 유지하는 데는 별도의 복잡성이 있습니다.로컬에서 실행되는 일반적인 개발 환경에서 매우 간단한 일들도 있다. 예를 들어 IDE에서 프로그램을 디버깅하려면 현재 추가 설정이 필요하다.Xdebug가 작동하도록 하려면 쉽지 않은 작업입니다.나는 처음부터 끝까지 모든 절차가 있는 안내서를 찾을 수 없다.이것이 바로 내가 이 글을 쓰기로 결정한 이유다.Xdebug 및 PHPStorm을 한 걸음 한 걸음 설치하고 구성하며 정지된 Symfony 4 애플리케이션을 사용하도록 안내합니다.
예비 지식
1단계 - 응용 프로그램을 Dockerize
물론 Xdebug를 사용할 수 있도록 Docker 컨테이너에 설치해야 합니다.
이를 어떻게 하는지는 당신의 기본적인 이미지에 달려 있다.나는 항상 알프스 산을 기반으로 한 그림을 사용한다.Symfony 애플리케이션을 아카이빙하는 방법에 대해서는 자세히 설명하지 않겠습니다.프레젠테이션 저장소에 포함된 Dockerfile를 사용할 수 있습니다.
Xdebug가 설치된 Dockerfile에 대한 발췌문은 다음과 같습니다.
ARG WITH_XDEBUG=false
RUN if [ $WITH_XDEBUG = "true" ] ; then \
pecl install xdebug; \
docker-php-ext-enable xdebug; \
echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \
echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \
echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \
echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \
fi ;
별도의 Dockerfile을 개발 및 생산에 사용하고 싶지 않으므로 Xdebug를 설치할지 여부를 알려주는 구축 매개 변수를 정의했습니다.그런 다음 Docker compose 파일에서 내 응용 프로그램은 다음과 같이 정의됩니다.
version: "3"
services:
php:
build:
context: .
args:
- WITH_XDEBUG=true
env_file: .env
volumes:
- .:/var/www/app:rw
See 완전한 docker compose 파일에 사용됩니다.별거 아니야.중요한 점은 "env file"명령입니다. 이것은 Compose가 ".env"파일에서 환경 변수를 불러오는 것을 알려 줍니다. 이것은 Symfony 4 프로그램의 표준 방식입니다.
이 파일을 사용하여 Xdebug에 필요한 환경 변수를 추가합니다.원한다면 '환경' 부분을 docker compose 파일에 직접 추가할 수도 있습니다.
환경 변수
다음과 같은 환경 변수를 정의합니다.
PHP_IDE_CONFIG=serverName=symfony-demo
XDEBUG_CONFIG=remote_host=192.168.1.102 remote_port=9001
이게 코드야.이제 PHPStorm 구성에 대해 자세히 살펴보겠습니다.
PHPStorm 구성
네가 해야 할 첫 번째 일은 디버깅 설정을 검사하는 것이다.PHPStorm에서 파일-> 설정-> 언어 및 프레임-> PHP> 디버깅으로 이동합니다.
XDEBUG CONFIG 환경 변수에서 이전에 구성한 포트가 있는지 확인합니다.
다음에 우리는 서버를 설정해야 한다.이것이 바로 PHPStorm이 로컬 시스템의 파일 경로를 컨테이너의 경로에 매핑하는 방법입니다.
파일 시작 -> 설정 -> 언어 및 프레임워크 -> PHP-> 서버
당신의 서버에 이름을 지어 주세요.PHP IDE CONFIG 환경 변수에 정의된 값과 일치해야 합니다.우리는'symfony demo'라고 부른다.
호스트 및 포트 는 애플리케이션에 액세스하는 방법입니다.나의 예는localhost:8888이다.
그 다음은 경로 매핑입니다.
'프로젝트 파일' 부분에서 프로그램의 루트 경로를 용기 내의 경로에 비추어야 합니다.나의 예는 "/var/www/app"이다.
적용을 클릭하여 구성을 저장합니다.
마지막 부분은 프로젝트를 설정하는 원격 디버거입니다.
오른쪽 위 모서리에서 구성 편집을 클릭합니다.
왼쪽 상단의 녹색 "더하기"를 누르고 목록에서 "PHP 원격 디버깅"을 선택하십시오.
이제 다음과 같이 구성됩니다.
이전에 생성한 서버 정의와 연관되어 있는지 확인합니다."PHPSTORM"을 idekey로 사용합니다.
이제 IDE가 올바르게 구성되었습니다.테스트해 봅시다.
테스트
docker-compose up
이렇게현재, Docker와 Xdebug가 PHPStorm IDE와 통합된 완전히 구성된 개발 환경이 있어야 합니다.
질문이 있으면 언제든지 아래 또는 GitHub 저장소에 의견을 달아 주십시오.
감사합니다.
Reference
이 문제에 관하여(Docker, PHPStorm, Xdebug, 권위 있는 가이드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/brpaz/docker-phpstorm-and-xdebug-the-definitive-guide-14og텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)