概要
CakePHP3.5から.env
の利用が標準化されました。
.env利用の流れ
- configフォルダ配下にある
.env.default
を.env
にリネームする -
.env
に設定を記述する。
config/.env
export DB_HOST="hoge_host"
export DB_USERNAME="hoge"
export DB_PASSWORD="hoge"
export DB_DATABASE="hoge"
- config/app.phpに
.env
の値を設定する。app.phpがない場合は、app.php.defaultをリネームする。
config/app.php
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => env('DB_HOST'),
/*
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//'port' => 'non_standard_port_number',
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'database' => env('DB_DATABASE'),
- config/bootstrap.phpの以下をコメント解除する。コメント解除しないと
.env
は有効にならないので要注意。
config/bootstrap.php
if (!env('APP_NAME') && file_exists(CONFIG . '.env')) {
$dotenv = new \josegonzalez\Dotenv\Loader([CONFIG . '.env']);
$dotenv->parse()
->putenv()
->toEnv()
->toServer();
}
最後に
.env
はバージョン管理からは除外しておきましょう。