現在Laravelで開発しているWebアプリで、envファイルで定義した環境変数をenv関数で取得している箇所があるのだが、ある日から突然返り値がnullになってしまう問題に遭遇した。

まずは結論から述べるが、下記のコマンドを実行することで問題は解消された。

php artisan config:clear

原因は設定ファイルをキャッシュしたことにあるようで、思い返せばこの問題の発生前に以下のキャッシュコマンドを叩いた覚えがある。

php artisan config:cache

調べてみるとプログラム上でenv関数をそのまま使用するのはあまり良くないらしく、config/app.phpなどに環境変数の値を保存してconfig関数から呼び出す方法が推奨されているようだ。