ホームページ > バックエンド開発 > PHPチュートリアル > Laravelを構成する日:環境セットアップ

Laravelを構成する日:環境セットアップ

Mary-Kate Olsen
リリース: 2024-12-29 18:50:10
オリジナル
519 人が閲覧しました

Day Configuring Laravel: Environment Setup

Laravel 環境のセットアップは、アプリケーションが開発、テスト、運用環境全体でスムーズかつ効率的に実行されるようにするための重要なステップです。 Laravel は、環境設定システムを使用してこのプロセスを簡単にします。

このブログでは、Laravel 環境を効果的にセットアップおよび管理する方法について説明します。

1. .env ファイル

Laravel の環境設定の中核となるのは、プロジェクトのルートにある .env ファイルです。このファイルには、アプリケーションの設定を定義するキーと値のペアが含まれています。

.env の主な機能

API キーやデータベース認証情報などの機密情報をソース コードから守ります。

環境固有の設定を素早く変更できます。

複数の環境 (ローカル、ステージング、本番環境など) をサポートします。

サンプル .env ファイル

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"
ログイン後にコピー
ログイン後にコピー

2. 環境変数の管理

コード内の変数へのアクセス

env() ヘルパー関数を使用して、Laravel コード内の環境変数にアクセスできます。例:

$debugMode = env('APP_DEBUG');
$databaseName = env('DB_DATABASE');
ログイン後にコピー
ログイン後にコピー
構成のキャッシュ

運用環境では、パフォーマンスを向上させるために構成をキャッシュする必要があります。次のコマンドを実行して、.env ファイルとその他の構成設定をキャッシュします:

php artisan config:cache
ログイン後にコピー
ログイン後にコピー

キャッシュをクリアするには、次を使用します:

php artisan config:clear
ログイン後にコピー
ログイン後にコピー

注: .env ファイルを変更した後は、必ず構成をクリアして再キャッシュしてください。

3. 環境固有の構成

設定ファイル

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
}
ログイン後にコピー
ログイン後にコピー

4. 複数の環境のセットアップ

環境ファイル

さまざまな環境 (ローカル、ステージング、運用環境など) を処理するには、次のような環境固有のファイルを作成できます。

.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"
ログイン後にコピー
ログイン後にコピー

Webサーバーの環境設定

高度なセットアップの場合は、サーバー レベルで環境を設定できます。たとえば、Apache では、これを .htaccess ファイルに追加します:

$debugMode = env('APP_DEBUG');
$databaseName = env('DB_DATABASE');
ログイン後にコピー
ログイン後にコピー

Nginx では、次を使用します:

php artisan config:cache
ログイン後にコピー
ログイン後にコピー

5. 避けるべきよくある落とし穴

.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', ''),
],
ログイン後にコピー
ログイン後にコピー

実稼働環境で構成をキャッシュしない

本番環境で設定ファイルをキャッシュできないと、アプリケーションのパフォーマンスが低下する可能性があります。

6. 環境設定のテスト

環境が正しく設定されていることを確認するには、次のことができます。

アプリケーション環境を確認します:

if (App::environment('production')) {
    // Use production-specific settings
}
ログイン後にコピー
ログイン後にコピー

設定値のダンプ:

.env.local
.env.staging
.env.production
ログイン後にコピー
ログイン後にコピー

ローカルでのデバッグとテストには、Laravel Debugbar などのツールを使用します。

Laravel 環境を正しく設定することで、開発のすべての段階でスムーズで安全なワークフローを確保できます。 5 日目では、ルーティングの基本を学び、最初のルートとコントローラーを構築します!

以上がLaravelを構成する日:環境セットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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