ホームページ > バックエンド開発 > PHPチュートリアル > PHP INI環境変数を備えた柔軟なDocker画像

PHP INI環境変数を備えた柔軟なDocker画像

Karen Carpenter
リリース: 2025-03-06 02:15:09
オリジナル
949 人が閲覧しました

このチュートリアルでは、環境変数を使用してDockerized PHP 8.4アプリケーション内でXDebugを構成する方法を示しています。 以前のチュートリアルは、開発者のカスタマイズを制限し、ハードコーディングされたXdebug設定です。このアプローチにより、各開発者はDocker画像を変更せずにXDebug構成を管理できます。

PHP 8.3以降のバージョンは、環境変数を使用してINIファイルのフォールバック値をサポートし、構成を簡素化します。 以前は、

ファイルは次のように見えました:

xdebug.ini

この方法では、各開発者の手動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

プレフィックスは、競合の名前の命名を回避し、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_MODEXDEBUG_CONFIGに追加するか、Dockerコンテナ内の次のコマンドを使用してください。

ローカルカスタマイズの場合は、

phpinfo(); exit;public/index.phpを追加します

$ docker compose up --build -d
$ docker compose exec app bash
$ php -i | grep xdebug\.start_with_request
ログイン後にコピー
create

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>
ログイン後にコピー
この方法では、画像ビルドプロセスを変更せずに柔軟なXDEBUG構成を可能にします。 直接的なXdebug環境変数はシンプルさを提供しますが、INIメソッドは、すべての設定が

で構成できるわけではないため、より包括的な制御を提供します。ニーズに最適なアプローチを選択してください

以上がPHP INI環境変数を備えた柔軟なDocker画像の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート