>백엔드 개발 >PHP 튜토리얼 >1 분 안에 Docker 및 PHP 8.4와 함께 Xdebug를 받으십시오.

1 분 안에 Docker 및 PHP 8.4와 함께 Xdebug를 받으십시오.

Emily Anne Brown
Emily Anne Brown원래의
2025-03-06 02:01:17831검색
xdebug는 가파른 설정 학습 곡선을 가진 역사를 가지고 있습니다. Xdebug를 설정하는 것이 고통 스러울 필요는 없다는 것을 보여 드리겠습니다. 사실, 나는 당신이 약 1 분 안에 Docker와 함께 Xdebug를 사용할 수 있다고 확신합니다. 알았어, 아마도 몇 분이 걸릴 것입니다 :)

우리는 글을 쓰는 시점의 최신 안정 버전 인 Laravel, PHP 8.4 및 Xdebug v3.4.0으로 설정을 시연 할 것입니다. 도커 이미지로 Xdebug를 구하는 데 필요한 요점에는 다음이 포함됩니다.

xdebug 모듈 및 구성 a 파일 지원 편집기 또는 IDE XDEBUG 클라이언트 로 사용할 수 있습니다.

#project 설정 이 게시물에서는 Apache를 사용하여 서버 설정을 단순화 할 것입니다. 그러나 Dockerfile 코드는 PHP-FPM 이미지에서 Xdebug를 구성하는 것과 동일합니다. 우리는 당신이 따라 가고 싶다면 데모 프로젝트를 설정하는 것으로 시작합니다 :

.

우리는 명령 줄을 통해 설정을 위해 폴더와 파일을 만들었지 만 원하는대로 자유롭게 만들 수 있습니다. 일반적인 Docker 파일 외에도 응용 프로그램에 대한 웹 루트 경로를 구성하기 위해

파일을 만들었습니다. #docker 이미지 설정 다음, 다음을 파일에 추가하십시오 :
    dockerfile에는 줄이 꽤 많으므로 XDEBUG를 구성하는 방법을 파악하는 데 도움이되는 가장 중요한 코드를 살펴 보겠습니다. 먼저, 다단계 빌드를 사용하여 개발 환경에서 xdebug를 구성 할 수 있습니다. 단계는 환경에서 원하는 php 확장과 같은 이미지 요구 사항과 아파치 구성과 같은 기본 설정을 갖는 스테이지가 있기 전에. 다음
  • 단계는 php.ini 파일의 개발 버전을 복사하고 xdebug에 사용자 정의를 보유 할 compose.yaml 구성을 복사합니다. 우리는 PHP 8.4를 지원하는 를 사용하고 글을 쓰는 시점의 최신 안정입니다. 마지막으로, 우리는
  • 스테이지를 가지고 있으며, 이는 응용 프로그램 이미지가 프로덕션 빌드에서 사용할 것입니다. 대상 사용 xdebug 구성을 생략하고 php.ini 파일의 프로덕션 버전을 사용합니다. #Apache vhost 우리는 Apache를 구성하는 방법을 배우기 위해 여기에 있지 않으며, Docker에서 Xdebug를 설정하는 것이 얼마나 쉬운 지 신속하게 입증하기 위해이를 사용하고 싶습니다. 다음 코드를
  • 파일에 추가하여 Docker 이미지에 복사되어 응용 프로그램 코드를 가리 킵니다.
  • #xdebug configuration 다음으로 우리는 생성 한
파일을 통해 xdebug를 구성해야합니다. 이 파일에 다음을 팔로우하는 경우 다음을 추가하십시오.
<!-- Syntax highlighted by torchlight.dev -->laravel new xdebug-demo --git --no-interaction
cd xdebug-demo
mkdir -p build/php/conf.d build/apache
touch compose.yaml \
    build/Dockerfile \
    build/php/conf.d/xdebug.ini \
    build/apache/vhost.conf
클라이언트 호스트를 정의하려면 사용자 정의가 필요합니다. Docker Network를 사용하고 있기 때문에 Xdebug는 호스트 컴퓨터와 통신하는 방법을 알아야합니다. Docker Desktop을 사용하는 경우 Docker는 호스트 컴퓨터를 가리키는

호스트가 있습니다. 그렇지 않은 경우 컴퓨터의 로컬 네트워크 IP를 찾아 사용해야합니다. 우리는 환경 변수 로이 값을 전제로 할 수 있지만 향후 게시물을 위해 저장하겠습니다. host.docker.internal 마지막으로 우리는

를 사용하여 모든 요청마다 항상 xdebug를 시작합니다. XDEBUG를 사용하고 싶지 않을 때 편집기 UI를 사용하여 XDEBUG를 비활성화 할 수 있지만 항상 연결을 설정하려고 시도합니다. #이미지 xdebug 연결을 확인하기 전에 응용 프로그램 컨테이너를 구성해야합니다. 우리는 Docker Compose를 사용하여 다음을

에 추가하여 Docker로 응용 프로그램을 실행합니다.

우리의 서비스는 빌드의

단계를 대상으로하고, 볼륨을 마운트하여 이미지를 재건하지 않고 코드를 변경하고 포트 xdebug.start_with_request = yes를 사용하여 로컬로 응용 프로그램을 제공합니다. 우리는 이제 docker compose를 사용하여 이미지를 만들고 시작할 수 있습니다 :

이전 명령은 이미지를 만들고 컨테이너를 시작하여 백그라운드에서 실행합니다. 이 시점에서 Xdebug는 연결을받을 준비가되었지만 IDE에서 작동하기 위해 한 가지 조정해야합니다.

. 우리는 phpstorm을 사용하지만 xdebug를 지원하는 편집기를 사용할 수 있습니다. Docker를 사용하고 있으므로 Docker 볼륨을 로컬 프로젝트 코드에 매핑하는 PhpStorm에서 서버를 구성해야합니다. 설정을 열어서 그렇게 할 수 있습니다. & gt; PHP & GT; 서버 및

의 매핑으로 로컬 호스트 서버를 구성합니다.

compose.yaml LocalHost 서버가없는 경우 Port 디버거를 선택할 수 있습니다. 서버 매핑을 통해 IDE는 서버 스택 추적을 프로젝트의 파일에 매핑하는 방법을 이해할 수 있습니다. 다음으로, 우리는 오른쪽 상단 메뉴 근처의 버그 아이콘을 사용하여 Xdebug를 활성화 할 준비가되어 있습니다. "PHP 디버그 연결을 듣기 시작하십시오"라는 말 : .

<!-- Syntax highlighted by torchlight.dev -->FROM php:8.4-apache as base

LABEL maintainer="Paul Redmond"

RUN docker-php-ext-install pdo_mysql opcache && \
    a2enmod rewrite negotiation

COPY build/apache/vhost.conf /etc/apache2/sites-available/000-default.conf

FROM base as development

RUN cp $PHP_INI_DIR/php.ini-development $PHP_INI_DIR/php.ini

COPY build/php/conf.d/xdebug.ini $PHP_INI_DIR/conf.d/xdebug.ini

RUN pecl channel-update pecl.php.net && \
    pecl install xdebug-3.4.0 && \
    docker-php-ext-enable xdebug

FROM base as app

RUN cp $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini
COPY . /srv/app

클릭하면 아이콘이 녹색으로 바뀌는 것을 볼 수 있습니다. app 마지막으로해야 할 일은 중단 점을 설정하는 것입니다. development 파일을 열고 홈페이지 경로의 유일한 줄에서 중단 점을 설정하십시오. 8080

웹 브라우저 (LocalHost : 8080)에서 프로젝트를 열면 PHPStorm이 처음 연결하라는 메시지가 표시됩니다. 그런 다음 설정 한 중단 점에서 자동으로 일시 중지됩니다. 디버깅이 완료되면 버그 아이콘을 클릭하여 XDEBUG 연결을 비활성화 할 수 있습니다. #Learn More 이 튜토리얼의 2 부에서 계속하십시오 : PHP INI 환경 변수가있는 Flexible Docker Images. 이제 프로젝트와 함께 XDEBUG를 사용할 수 있어야합니다! 또한 다단계 이미지를 사용하여 개발 도구를 설정하고 프로덕션 설정을위한 별도의 단계를 보여주었습니다. 멀티 단계 빌드를 사용하면 이미지가 다른 수준의 굽힘 성으로 가져갈 수 있습니다. XDEBUG 설정의 편집기 부분에 갇히면 PHPStorm은 XDEBUG를 구성하는 방법에 대한 광범위한 문서를 가지고 있습니다. Xdebug의 문서는 설정, 도구, 구성 옵션 등에 대한 문서를 포함하여 또 다른 훌륭한 참조입니다.

위 내용은 1 분 안에 Docker 및 PHP 8.4와 함께 Xdebug를 받으십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.