カテゴリー
Linux

Laracel 6 で、 `.env` ファイルの名前を変えて運用する方法 2 (補足)

まとめ

  • 前回 、 "Composer コンテナに環境変数を設定するほうが筋が良いかもしれない" とコメントしたが、実際にできたのでメモ
  • composer.jsonphp artisan コマンドに、 --env=laravel といったオプションが不要になる。
  • 開発時は運用時は、 --env=laravel オプションを付けなくとも (.env.laravel を読み込むように環境変数 APP_ENV に laravel を付けることで) php artisan コマンドを使えるようにするので、こちらの方が統一されており、望ましいと言える。
  • feat: Laravel の使用する .env ファイル名を変更する by oki2a24 · Pull Request #7 · oki2a24/sample_dockerized_laravel6

結局のところ、 Laracel 6 で、 .env ファイルの名前を変えて運用するためのコード修正

$ git diff fd4b9ee 240c424
diff --git a/.env.example b/.env.laravel.example
similarity index 100%
rename from .env.example
rename to .env.laravel.example
diff --git a/.gitignore b/.gitignore
index 34ec6d5..3c86da5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,8 +6,8 @@
 /public/storage
 /storage/*.key
 /vendor
-.env
 .env.backup
+.env.laravel
 .phpunit.result.cache
 Homestead.json
 Homestead.yaml
diff --git a/Dockerfile b/Dockerfile
index 6f54432..86a0e9e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -19,8 +19,10 @@ COPY ./docker/000-default.conf /etc/apache2/sites-available/000-default.conf
 ENV APACHE_DOCUMENT_ROOT /var/www/html/public
 RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
 RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
+ENV APP_ENV laravel

 FROM composer:1.9.3 AS composer
+ENV APP_ENV laravel

 FROM shared AS develop
 COPY --from=composer /usr/bin/composer /usr/bin/composer
diff --git a/composer.json b/composer.json
index 4d19d86..40362d5 100644
--- a/composer.json
+++ b/composer.json
@@ -53,7 +53,7 @@
             "@php artisan package:discover --ansi"
         ],
         "post-root-package-install": [
-            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
+            "@php -r \"file_exists('.env.laravel') || copy('.env.laravel.example', '.env.laravel');\""
         ],
         "post-create-project-cmd": [
             "@php artisan key:generate --ansi"

$

おわりに

冒頭にも書いた通り、前回よりも今回の方が余計な混乱もなく、すっきりとしていて、統一感があるので、良いかと存じます。

以上です。

コメントを残す