Laravel 環境のセットアップは、アプリケーションが開発、テスト、運用環境全体でスムーズかつ効率的に実行されるようにするための重要なステップです。 Laravel は、環境設定システムを使用してこのプロセスを簡単にします。
このブログでは、Laravel 環境を効果的にセットアップおよび管理する方法について説明します。
Laravel の環境設定の中核となるのは、プロジェクトのルートにある .env ファイルです。このファイルには、アプリケーションの設定を定義するキーと値のペアが含まれています。
API キーやデータベース認証情報などの機密情報をソース コードから守ります。
環境固有の設定を素早く変更できます。
複数の環境 (ローカル、ステージング、本番環境など) をサポートします。
Laravel プロジェクトの一般的な .env ファイルは次のとおりです。
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:some_random_generated_key APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD= CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="Example"
env() ヘルパー関数を使用して、Laravel コード内の環境変数にアクセスできます。例:
$debugMode = env('APP_DEBUG'); $databaseName = env('DB_DATABASE');
運用環境では、パフォーマンスを向上させるために構成をキャッシュする必要があります。次のコマンドを実行して、.env ファイルとその他の構成設定をキャッシュします:
php artisan config:cache
キャッシュをクリアするには、次を使用します:
php artisan config:clear
注: .env ファイルを変更した後は、必ず構成をクリアして再キャッシュしてください。
Laravel の config/ ディレクトリには、app.php、database.php、mail.php などのさまざまな設定ファイルが含まれています。これらのファイルを使用すると、設定を一元管理して整理できます。
値をハードコーディングする代わりに、これらの構成ファイル内で env() ヘルパーを使用します。たとえば、config/database.php:
'mysql' => [ 'host' => env('DB_HOST', '127.0.0.1'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), ],
このアプローチにより柔軟性が確保され、機密データの公開が回避されます。
Laravel では、環境に基づいて設定値をオーバーライドすることもできます。たとえば、コード内で App::environment() を使用できます。
if (App::environment('production')) { // Use production-specific settings }
さまざまな環境 (ローカル、ステージング、運用環境など) を処理するには、次のような環境固有のファイルを作成できます。
.env.local .env.staging .env.production
Laravel は .env ファイルを自動的にロードしますが、APP_ENV 変数を使用するか、Artisan コマンドの実行時に --env フラグを設定することで、別の環境を指定できます。
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:some_random_generated_key APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD= CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="Example"
高度なセットアップの場合は、サーバー レベルで環境を設定できます。たとえば、Apache では、これを .htaccess ファイルに追加します:
$debugMode = env('APP_DEBUG'); $databaseName = env('DB_DATABASE');
Nginx では、次を使用します:
php artisan config:cache
.env をバージョン管理にコミットしています
.env ファイルには機密情報が含まれているため、バージョン管理にコミットしないでください。 .env を .gitignore ファイルに追加します:
php artisan config:clear
アプリケーション ロジックでの env() の使用
env() は初期設定の読み込み中にのみ機能するため、アプリケーション コード内で直接呼び出すことは避けてください。代わりに、config() を使用して環境変数にアクセスします:
'mysql' => [ 'host' => env('DB_HOST', '127.0.0.1'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), ],
実稼働環境で構成をキャッシュしない
本番環境で設定ファイルをキャッシュできないと、アプリケーションのパフォーマンスが低下する可能性があります。
環境が正しく設定されていることを確認するには、次のことができます。
アプリケーション環境を確認します:
if (App::environment('production')) { // Use production-specific settings }
設定値のダンプ:
.env.local .env.staging .env.production
ローカルでのデバッグとテストには、Laravel Debugbar などのツールを使用します。
Laravel 環境を正しく設定することで、開発のすべての段階でスムーズで安全なワークフローを確保できます。 5 日目では、ルーティングの基本を学び、最初のルートとコントローラーを構築します!
以上がLaravelを構成する日:環境セットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。