Laravel5 で「Class config does not exist」が表示されたら .env のパースエラーを疑おう

最近 Laravel (5.4) を使っていて、何度かハマったのでメモとして。

Laravel で開発していて、Uncaught exception 'ReflectionException' with message 'Class config does not exist' と表示されることがある。configクラスが無いというエラーだけど、実はこのエラーは「.env」ファイルのパースエラーで引き起こされる。

.envファイルはおそらくiniファイル形式なので、例えば以下のように値にスペースが含まれると、パースできない。

APP_NAME=Application Name

正しくは以下の通り。

APP_NAME="Application Name"

.env.sample ではクオートを使った例が記載されておらず、iniファイルはあまり書くことがなくてクオートの作法を忘れがちだ。そして起きるエラーが「configクラスが無い」という直感的でないものになるので注意が必要だ。というか、ちゃんとしたエラーが出るようにプルリクを送ってみるチャンスかな?

コメント / トラックバック

コメントは受け付けていません。