ホームページ >バックエンド開発 >PHPチュートリアル >DockerとPHP 8.4を1分間で作業するXdebugを取得します
Xdebugには、急なセットアップ学習曲線があるという歴史があります。 Xdebugのセットアップは痛みを伴う必要はないことを示しています。実際、私はあなたが約1分でdockerでXdebugを使用し始めることができると確信しています。
わかりました、たぶんそれはあなたの何人かを数分かかるでしょう:)Laravel、Php 8.4およびXdebug v3.4.0でセットアップを実証します。これは、執筆時点で最新の安定したバージョンです。
docker画像で構成されたXdebugを取得するために必要なものの要点は、
>xDebugモジュールと構成をインストールするDockerFile
コンテナを起動するためのcompose.yaml
コマンドラインを介してセットアップ用のフォルダーとファイルを作成しましたが、お気軽にお気軽にお問い合わせください。典型的なDockerファイルに加えて、アプリケーションへのWebルートパスを構成するために
ファイルを作成しました。#docker image setup
<!-- 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次に、
ファイルに次のことを追加します:vhost.conf
ステージがあります。これには、build/Dockerfile
任意の
<!-- 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構成をコピーします。 PHP 8.4をサポートしており、執筆時点で最新の安定性を備えています。
最後に、development
ステージがあります。これは、アプリケーションイメージが生産ビルドで使用するものです。 base
ターゲットを使用して、Xdebugの構成を省略し、php.iniファイルの生産バージョンを使用します。
#apache vhost
ファイルに追加するだけで、Docker画像にコピーしてアプリケーションコードを指します。
development
xdebug.ini
#xdebug configurationv3.4.0
ファイルを介して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ネットワークを使用しているため、Xdebugはホストマシンと通信する方法を知る必要があります。 Dockerデスクトップを使用している場合、Dockerにはホストコンピューターを指す
ホストがあります。
host.docker.internal
そうでない場合は、コンピューターのローカルネットワークIPを見つけてそれを使用する必要があります。環境変数でこの値を動かすことはできますが、将来の投稿のためにそれを保存します。
を使用します。 Xdebugを使用したくない場合は、編集者のUIを使用してXdebugを無効にできますが、常に接続を確立しようとします。
#画像を実行します
xdebug.start_with_request = yes
XDebug接続を確認する前に、アプリケーションコンテナを構成する必要があります。 docker Composeを使用して、
compose.yaml
サービスは、ビルドの
<!-- 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を使用してアプリケーションをローカルに提供します。
Docker Composeを使用して画像を構築して起動することができます。
app
development
前のコマンドは画像を作成し、コンテナを起動し、背景で実行します。この時点で、Xdebugは接続を受信する準備ができていますが、IDEで1つのことを調整して機能させる必要があります。
8080
#configing phpstorm
phpstormを使用しますが、Xdebugをサポートする任意のエディターを使用できます。 Dockerを使用しているため、DockerボリュームをローカルプロジェクトコードにマッピングするPHPStormでサーバーを構成する必要があります。設定&gtを開くことでそうすることができます。 php&gt;サーバーとローカルホストサーバーの構成
のマッピング:<!-- Syntax highlighted by torchlight.dev --><VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /srv/app/public <Directory "/srv/app/public"> AllowOverride all Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
デバッガーを選択できます。サーバーマッピングにより、IDEはサーバースタックトレースをプロジェクト内のファイルにマッピングする方法を理解できます。
/srv/app
次に、右上のメニューの近くにバグアイコンを使用してXDebugを有効にする準備ができています。
8080
クリックすると、アイコンが緑色になるのが表示されます。Xdebug
ファイルを開き、ホームページルートの唯一の行にブレークポイントを設定します。
Webブラウザ(LocalHost:8080)でプロジェクトを開くと、PHPSTORMは初めて接続するように求められます。その後、設定したブレークポイントで自動的に一時停止します。デバッグが完了したら、バグアイコンをクリックしてXdebug接続を無効にすることができます。
#Learn moreXdebugのセットアップのエディター部分に詰まった場合、PhpstormにはXdebugの構成方法に関する広範なドキュメントがあります。 Xdebugのドキュメントは、セットアップ、ツール、構成オプションなどのドキュメントなど、もう1つの優れたリファレンスです。
以上がDockerとPHP 8.4を1分間で作業するXdebugを取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。