PHPフレームワーク『Laravel』入門 #1では、CPIレンタルサーバーにLaravelをインストールする方法をご紹介いたしました。
今回の記事ではデータベースを設定する手順をご紹介いたします。
前回記事のおさらい
前回の記事ではCPIサーバーにLaravelをインストールし、Laravelの初期画面までの表示を行いました。
インストールしたディレクトリは下記の通りです。
「~/html/laravel/PROJECT_NAME」
今回の記事ではこちらの環境に対してデータベースの設定を行います。
目次
CPIサーバーのデータベース追加
まずは、Laravelで利用するデータベースの設定を行います。
Laravelは様々なデータベースに対応していますが、今回はMySQLを使用します。
CPIのウェブコントロールパネルにログインし、「サイト用設定 > データベース > MySQLデータベース設定」からデータベースの追加を行います
プランによって、設定方法が異なりますので、詳しくはCPIのオンラインヘルプを参照ください。
データベース接続設定
Laravelには用途に応じてさまざまな設定ファイルが存在しますが、アプリケーション全体にかかわる設定は主に.envファイルに記入します。
「データベース追加」手順で作業した情報を.envファイルに記入するとアプリケーション上から簡単にデータベースの操作(登録・参照・変更・削除)が可能になります。
「~/html/laravel/PROJECT_NAME/.env」を編集
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306 ※ウェブコントロールパネル「プログラムのパスとサーバの情報」に「MySQL」のポート番号が書かれています。
DB_DATABASE=<データベース名>
DB_USERNAME=<データベースのユーザーID>
DB_PASSWORD=<データベースのユーザーパスワード>
<データベース名>は「データベース追加」手順で設定した名前を指定
<データベースのユーザーID><データベースのユーザーパスワード>はサーバ契約時にメールで受信したIDおよびパスワードを指定してください。
「~/html/laravel/PROJECT_NAME/config/database.php」を編集
'mysql' => [
'driver' => 'mysql',
'url' => env('127.0.0.1'),
'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', ☆コメントアウト
'charset' => 'utf8', // ☆追加
//'collation' => 'utf8mb4_unicode_ci', ☆コメントアウト
'collation' => 'utf8_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'),
]) : [],
],
上記の設定を行うことで、Laravel 5.8とMySQLでマルチバイト文字の扱いが異なることで発生するエラーを回避することができます。
artisan コマンド実行
設定が終わりましたら、以下のコマンドを実行してキャッシュを再生成してください。
(artisanについては次回の記事で説明します)
php-7.1 artisan config:cache
データベースの接続テスト(ユーザーテーブルの作成)
以下のコマンドを実行して、ユーザーテーブルの作成を行います。設定がうまくできていれば、以下のようなメッセージが表示され、テーブルが自動作成されます。
php-7.1 artisan migrate
エラーが出力された場合は、「.env」ファイルか、「database.php」の記述を確認ください。
さいごに
CPIサーバーにLaravelをインストールし、データベースの設定を完了しました。
次回の記事は、データベースの接続テストでも利用した、便利な「artisan」コマンドをご紹介いたします。