この前Laravel6をインストールする環境づくりを一先ず終えて、Laravel6をインストールしてトップ画面が出ることは確認できました。

そうなれば次は先方からもらったソースコードをこの環境に入れて動かすことが次の課題。

さっそくソースコードをXAMPPの公開ディレクトリに入れ、composerコマンドで必要なファイルを生成します。

 

php composer update

 

次にデータベースを準備。phpMyAdminでこのLaravel6用のデータベース、ユーザー、パスワードを一先ず適当に作り準備。

.envというドット頭のファイルをテキストエディタで開き、データベース関連のところにphpMyAdminで作ったアカウント情報を入力します。本来はMySQLのポート番号は3306だけど、サブXAMPPに入れたためにカスタムした番号に変更します。

 

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3307
DB_DATABASE=laravel
DB_USERNAME=hogehoge
DB_PASSWORD=hokuhoku

 

次に、config / database.php をテキストエディタで開き、こちらもデータベース関連の情報を入力します。

 

'mysql' => [
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3307'), // サブXAMPPのMySQLポート番号(本来は3306)
'database' => env('DB_DATABASE', 'laravel),
'username' => env('DB_USERNAME', 'hogehoge'),
'password' => env('DB_PASSWORD', 'hokuhoku'),

 

これでartisan serveとコマンド入力して簡易サーバーを立ち上げ、localhost:8000を見に行ってみると・・・

 

500エラー

 

真っ白じゃなくLaravel6側で用意されている500エラーが表示しているという事は一先ずは簡易サーバーは動くまではきた。

もしかすると.envをいじったら反映させるための何かが必要なのかな?と思い、artisan migrate というコマンドを入力してみた。

 

SQLSTATE[HY000] [2002] 対象のコンピューターによって拒否されたため、接続できませんでした。
(SQL: select * from information_schema.tables where table_schema = bbmvjmd and table_name = migrations and table_type = 'BASE TABLE')

 

なるほど、MySQLに接続できていないというエラーが原因だったわけですね。先ほどの設定では接続できなかったのか。

何が悪いのか設定情報を確認しても良く分かりませんでしたが、ネットで調べると.env側で設定間違えるとおきる症状とのこと。

.env.sample を見てみると

 

DB_HOST=127.0.0.1

 

おぅ・・・

.env のDB_HOSTを書き換え、artisan migrate を入力すると、なんと設定通過!

その後は簡易サーバー立ち上げるコマンド入力し起動させ、ブラウザで確認すると表示しました!