1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

Laravelで.envの値が読み込まれない問題を解決する方法

Last updated at Posted at 2024-07-06

はじめに

こんにちは!エンジニア転職を目指している伊藤です。
最近、Laravelプロジェクトで環境変数が正しく読み込まれない問題に直面しました。
この記事では、その問題の解決方法について説明します。

問題の概要

Laravelで環境変数を.envファイルに設定しているにもかかわらず、これらの値がアプリケーション内で正しく読み込まれませんでした。具体的には、AWS S3にアクセスするためのenv('FILESYSTEM_DISK')env('AWS_ACCESS_KEY_ID')などの環境変数がnullを返していました。

原因

この問題の原因は、Laravelの設定キャッシュファイルbootstrap/cache/config.phpが存在することでした。このファイルが存在する場合、env()関数は常にnullを返します。設定キャッシュを有効にしていると、環境変数はキャッシュされた設定ファイルから取得されるため、.envファイルの変更が反映されません。

解決方法

1. 設定キャッシュファイルを削除する

まず、以下のコマンドを実行して、bootstrap/cache/config.phpファイルを削除します。

sudo rm -f /path/to/your/laravel/project/bootstrap/cache/config.php

2. キャッシュをクリアする

以下のコマンドを実行して、config のキャッシュをクリアします。

php artisan config:clear

3. 環境変数を確認する

最後に、環境変数が正しく読み込まれているかを確認します。以下のコマンドでtinkerシェルを起動し、環境変数の値を確認します。

php artisan tinker

tinkerシェル内で以下のコマンドを実行し、環境変数の値が正しく取得されるか確認します。
※確認したい環境変数を設定してください

env('FILESYSTEM_DISK');
env('AWS_ACCESS_KEY_ID');

最後に

本記事では、Laravelで.envファイルの環境変数が読み込まれない問題の解決方法について説明しました。この問題の原因は設定キャッシュファイルにあり、これを削除することで問題を解決できます。同じ問題に直面している方の手助けになれば幸いです。


参考記事

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?