Laravelの.envファイルにコメントを書きたい場合、および#(シャープ)や空白を含む文字列を設定したい場合の注意点をまとめます。
コメントについて
コメントは1行のうち、#(シャープ)以降がコメントとなります。
#(シャープ)の後ろであれば空白が入っていてもエラーにはなりません。
設定値の後ろにコメントを書く場合、設定値とコメントの#(シャープ)の間には半角空白が必要です。
半角空白を設定しないと設定値の#として扱われるため、以下のエラーが発生します。
The environment file is invalid: Dotenv values containing spaces must be surrounded by quotes.root
コメントのサンプルです。
DB_CONNECTION=mysql
DB_HOST=db # このコメントはOK
DB_PORT=3306#このコメントはNG、設定値の中の文字列として認識される
設定値に空白を設定する場合
設定値に空白を設定する場合、シングルクォーテーションかダブルクォーテーションでくくる必要があります。
くくらない場合、コメントと同じく以下のエラーが発生します。
The environment file is invalid: Dotenv values containing spaces must be surrounded by quotes.root
#(シャープ)については設定値に#(シャープ)を設定する場合、前が空白でなければシングルクォーテーションやダブルクォーテーションでくくらなくても認識されます。
#(シャープ)の前が空白の文字列を設定する場合はシングルクォーテーションやダブルクォーテーションでくくる必要があります。
くくらないとコメントとして認識されるためです。
APP_NAME='Laravel TEST' # この行はOK
APP_NAME="Laravel TEST" # この行もOK
APP_NAME=Laravel TEST # この行はNG
APP_NAME="Laravel #TEST" # この行はOK
APP_NAME=Laravel #TEST # この行もOK、ただしAPP_NAMEの設定値はLaravel。#TESTはコメントとして扱われる。