Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Laravel Sailで使用される一般的な環境変数は何ですか


Laravel Sailで使用される一般的な環境変数は何ですか


Dockerを使用したLaravelの開発環境であるLaravel Sailは、主にプロジェクトのルートにある `.ENV`ファイルに定義された環境変数に大きく依存しています。これらの環境変数は、アプリケーションとそのサービスを構成し、コンテナのシームレスなオーケストレーションを可能にし、ローカル開発に適した設定の調整を可能にします。

Laravel Sailで使用される共通の環境変数は、アプリケーションの構成、データベース構成、サービスポートとバインディング、コンテナユーザー設定、セイル固有のカスタマイズなどの目的に従ってグループ化できます。

###アプリケーション構成変数

- `app_name`:laravelアプリケーションの名前を定義します。
- `app_env`:環境タイプを設定します。一般に帆用に「ローカル」。
- `app_key`:暗号化とセッションのセキュリティにLaravelが使用するBase64エンコード暗号化キー。
- `app_debug`:詳細なエラーメッセージとデバッグ機能(` true`または `false`)を有効にするためのブールフラグ。
- `app_url`:アプリケーションにローカルでアクセスできるURLで、多くの場合` http:// localhost`に設定されています。

###データベース接続変数

データベースコンテナ(「MySQL」サービス)を調整するには、SailはMySQLデータベースコンテナへの接続を定義する変数を使用します。

- `db_connection`:データベースドライバー、通常は「mysql」を示します。
- `db_host`:データベースサーバーのホスト名、通常は「mysql」などのmysqlコンテナの名前。
- `db_port`:mysql接続のデフォルトポート、通常は` 3306`。
- `db_database`:コンテナ内で使用されているデータベースの名前。
- `db_username`:データベースにアクセスするユーザー名。
- `db_password`:データベースユーザーのパスワード。

Redis構成

SAILはオプションで、キャッシュまたはセッションの処理のためにRedisをサポートします。これらの変数は、Redis接続を構成します。

- `redis_host`:redisサーバーのホスト名、多くの場合、redisコンテナと一致する「redis」。
- `redis_password`:redisのパスワード(ある場合)。
- `redis_port`:ポートredisは耳を傾け、多くの場合` 6379`。

###サービスポート転送変数

ホストシステム上の一般的なポートですでに実行されているサービスとの競合を回避するために、Sailはそのサービス用の転送ポートのカスタマイズを許可します。

- `forward_db_port`:ローカルマシンポートは、コンテナ内のMySQLの標準ポート3306に転送されます(ポート3306が占有されている場合は、これを設定できます)。
- `forward_redis_port`:ローカルポートがデフォルトのポート6379をRedisに転送しました。
- `forward_mailhog_port`:通常、メールテストに使用されるMailhogサービスポートにローカルポートが転送されます。
- その他の `forward_*`構成されている場合、phpmyadminやその他の帆サービスなどのサービスに変数が存在します。

###コンテナユーザーおよびアクセス変数

Sailは、ローカルホストユーザーに一致するユーザーを使用してコンテナを実行し、ホストとコンテナの間でファイルのアクセス許可が一貫していることを確認します。これらの変数は、ユーザーIDを制御します。

- 「wwwuser」:ホストマシンのユーザーIDに対応するコンテナ内にユーザーIDを設定し、ファイル許可が一致するようにします。
- `wwwgroup`:ホストに一致するようにコンテナ内のグループIDを設定します。

sailカスタマイズ変数

- `app_service`:` docker-compose.yml`内のプライマリLaravelアプリケーションサービスコンテナ名を変更できます。これは、高度な構成に役立ちます。
- `sail_files`:標準のセイルファイルに沿ってロードされる追加のDocker Compose Overrideファイルを指定できます。これは、帆環境をカスタマイズまたは拡張するためのものです。
- `superpisor_php_command`:Laravel Octaneなどのツールを統合するときに役立つメインのLaravel Sailコンテナ内のPHPスタートアップコマンドのカスタマイズに使用されます。
-` supervisor_php_user`:コンテナ内のスーパーバイザープロセスでPHPを実行するユーザーを設定します。

###メールサービス変数

Laravel Sailには、開発中に送信された電子メールをキャプチャするためのメールホッグコンテナが付属しています。これらの変数はメール設定を構成します:

- `mail_mailer`:「smtp」または別のメーラードライバーに設定します。
- `mail_host`:メールサーバーのホスト名、通常は` mailhog`。
- `mail_port`:smtpのポート、一般的にmailhogの` 1025`。
- `mail_username`および` mail_password`:必要に応じて資格情報(開発中は一般的に空白のまま)。

###キューとキャッシュドライバー

Sailのデフォルト `.env`はこれらを設定できます。

- `queue_connection`:` sync`、 `database`、または` redis`などのキュードライバーを定義します。
- `cache_driver`:キャッシュドライバー、しばしば「ファイル」または「redis」を決定します。

###その他のサービス環境変数

- `xdebug_config`:xdebugでデバッグするために帆によって自動的に構成されます。多くの場合、MacおよびWindowsに` client_host = host.docker.internal`を設定します。
- 「PUID」と「PGID」:カスタムセール構成で時折、ユーザー許可マッチングのためにユーザーとグループIDを明示的に設定します。

sailの環境変数の役割の概要

これらの環境変数は、主に `.env`ファイルで定義されており、次のように機能します。

-Laravelアプリケーションの基本(名前、環境、デバッグモード、URL)を構成します。
-LaravelアプリケーションコンテナをDocker内のデータベースとキャッシュサービスに接続します。
- コンテナからホストマシンへのポートをマップし、ローカルポートの競合を回避します。
- ホストシステムとコンテナシステム間の適切なユーザーおよびグループの許可を確保します。
- Laravel Sail Environmentコンテナとプロセスを高度な使用のためにカスタマイズします。

`.ENV`ファイル環境変数は、sailの` docker-compose.yml`および `sail_files`で示された拡張コンポースファイルで定義されたコンテナの動作を直接制御します。これらの変数を調整し、帆の再起動( `./vendor/bin/sail down`や` ./vendor/bin/sail up -d`などのコマンドを使用)は、構成の変更を適用します。

このセットアップにより、Laravel Sailは、Dockerを使用して、孤立した、しかし構成可能なローカル開発環境を提供することができ、開発者の利便性と柔軟性を維持しながら実用的な場所に生産行動をミラーリングします。