このチュートリアルでは、環境変数を使用してDockerized PHP 8.4アプリケーション内でXDebugを構成する方法を示しています。 以前のチュートリアルは、開発者のカスタマイズを制限し、ハードコーディングされたXdebug設定です。このアプローチにより、各開発者はDocker画像を変更せずにXDebug構成を管理できます。
PHP 8.3以降のバージョンは、環境変数を使用してINIファイルのフォールバック値をサポートし、構成を簡素化します。 以前は、
ファイルは次のように見えました:
xdebug.ini
<code>; build/php/conf.d/xdebug.ini file [xdebug] xdebug.mode = debug xdebug.client_host = host.docker.internal ; Or use the host machine IP address: ; xdebug.client_host = 192.168.86.203 xdebug.start_with_request = yes</code>
これらの環境変数を未溶融
ファイルに保存すると、開発者ごとのカスタマイズが可能になります。 または、<code>services: app: # ... other configurations ... environment: XDEBUG_CONFIG: "client_host=0.0.0.0 start_with_request=yes" XDEBUG_MODE: "debug,develop"</code>
.docker.env
xdebug.ini
<code>; build/php/conf.d/xdebug.ini file [xdebug] xdebug.mode = ${PHP_XDEBUG_MODE:-debug,develop} xdebug.client_host = ${PHP_XDEBUG_CLIENT_HOST:-host.docker.internal} xdebug.start_with_request = ${PHP_XDEBUG_START_WITH_REQUEST:-trigger}</code>
は、直接Xdebug構成のために予約されています
PHP_
設定を確認するには、XDEBUG_MODE
をXDEBUG_CONFIG
に追加するか、Dockerコンテナ内の次のコマンドを使用してください。
:phpinfo(); exit;
にpublic/index.php
を追加します
$ docker compose up --build -d $ docker compose exec app bash $ php -i | grep xdebug\.start_with_request
(env_file
に追加)およびデフォルト設定を備えたファイル:docker-compose.yaml
services: app: # ... other configurations ... env_file: - .docker.env
:.docker.env
に表示されます
.gitignore
.docker.env.example
<code>PHP_XDEBUG_MODE=debug PHP_XDEBUG_CLIENT_HOST=host.docker.internal # Or use your computer's local network IP # PHP_XDEBUG_CLIENT_HOST=192.168.86.250 PHP_XDEBUG_START_WITH_REQUEST=trigger</code>
で構成できるわけではないため、より包括的な制御を提供します。ニーズに最適なアプローチを選択してください
以上がPHP INI環境変数を備えた柔軟なDocker画像の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。