PHP フレームワーク『 Laravel 』入門 #1 では、CPI レンタルサーバーに Laravel をインストールする方法をご紹介いたしました。
今回の記事ではデータベースを設定する手順をご紹介いたします。
前回記事のおさらい
前回の記事では CPI サーバーに Laravel をインストールし、Laravel の初期画面までの表示を行いました。
インストールしたディレクトリは下記の通りです。
「 ~/html/laravel/PROJECT_NAME 」
今回の記事ではこちらの環境に対してデータベースの設定を行います。
目次
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
CPI サーバーに Laravel をインストールしてデータベースを追加する方法
まずは、Laravel で利用するデータベースの設定を行います。
Laravel は様々なデータベースに対応していますが、今回は MySQL を使用します。
CPI の Web コントロールパネルにログインし、「 Web > データベース > 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 」コマンドを紹介いたします。