まとめ
- 前回 、 "Composer コンテナに環境変数を設定するほうが筋が良いかもしれない" とコメントしたが、実際にできたのでメモ
composer.json
のphp 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"
$
おわりに
冒頭にも書いた通り、前回よりも今回の方が余計な混乱もなく、すっきりとしていて、統一感があるので、良いかと存じます。
以上です。