Laravelで作成したデータベースに接続するための設定を解説します。
database.php
config/database.php
にデータベースの接続設定を記述します。
初期設定はmysql
になっています。
ここを切り替えることで、connections
キー内にあるその他のデータベースも使用することができます。
'default' => env('DB_CONNECTION', 'mysql'),
使用するデータベースの内容を確認します。
config/database.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', ''),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
env()
は、Laravelのヘルパ関数です。
デフォルトでは、.env
に記載した値をdatabase.php
が読み込むようになっています。
config/database.php
'database' => env('DB_DATABASE', 'quick_laravel'),
'username' => env('DB_USERNAME', 'quickusr'),
'password' => env('DB_PASSWORD', 'qucikpass'),
第二引数に値を直接記述することも可能です。
.env
通常は、.env
にDB環境設定を記述します。
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=quick_laravel
DB_USERNAME=quickusr
DB_PASSWORD=quickpass
.env
はGitリポジトリのソースコントール外にあるので、環境設定が公開されることはありません。
SQLSTATE[HY000] [2002] Connection refused
等のエラーが表示される場合、上記の設定のどこかが間違っていると考えられます。
.env
を変更しても接続できない場合は、下記の記事を参照してください。
Laravelで.envファイルが反映されない時