MinEMemO

【Laravel】データベースに繋がらない時の確認方法

📝 更新日:2020-06-28 / 📄 作成日:2020-06-28
Hero Image
目次

はじめに

JavaScriptはVue.js、jQueryでの業務経験があるのですが、PHPはフレームワークを使ったことがなかったので、最近Laravelの勉強を始めています。

一旦たにぐちさんの動画で環境構築、軽くMVCを動かしてみるというところまでは詰まらずいけたのですが、その後自分で新たなに勉強していくなか、データベースに繋がらない時の確認方法が必要になったので、記事しておきます。

今回は以前使用したsqliteと今回使ったMySQLで確認をしたときの方法です

データベースに繋がらない時の確認方法

まずLaravelで接続状態確認

以下の Laravelのコマンドで今の状況を確認できます。

php artisan migrate:status



何かしらのエラーがてて、繋がってなかったら以下「2」以降のいづれかを確認します。

個人的に順番はつけていますが、目星がついてる場合は怪しい個所から調べても おけまる です

php.iniを確認する

phpの設定ファイルを確認し使いたいデータベースがコメントアウトされていないか確認する。
php.iniにはたくさん記述があるので、Ctrl+Fで検索すると見つけやすいです。

php.ini
extension=pdo_sqlite

※sqliteならこれを確認力

php.ini
extension=mysqli

※MySQLならこれを確認

.env のデータベース設定がきちんとなっているか

.envはLaravelの設定ファイルです。
TOPにあるので中身を確認します。

.envにもたくさん記述があるので、Ctrl+Fで検索すると見つけやすいです。

.env
DB_CONNECTION=sqlite

※sqliteならこれだけ記載し他のはコメントアウトで非活性にしてOK

.env
DB_CONNECTION=mysql
DB_HOST=ホスト名
DB_PORT=ポート
DB_DATABASE=DB名
DB_USERNAME=ユーザネーム
DB_PASSWORD=パスワード

※MySQLは適宜今の状況にあったものを記載します

database.phpの対象のDB設定がきちんとなっているか

Laravelの config/database.php は .env ファイルの設定を参照し、なければ第二引数の値が設定として参照されるファイルです。
なので、MySQLの場合は .env ファイルの設定がされているものは特に変更しなくても基本は動くと思います。

ただし、sqliteの場合は初期設定のDBのファイル名が「database.sqlite」なのでファイル名を変更した場合は適宜記載します。

php
'database' => env('DB_DATABASE', database_path('DBのファイル名のみ記載'))

※sqliteの場合

使ってるサーバーは起動してるか

これ本当に凡ミスでした😅
当時XAMPPだったのですが、XAMPPを起動していなくてエラーになるということがありました笑

サーバーはちゃんと起動しましょう😅

設定ファイル変更後にキャッシュはのこってないか

いろいろと設定ファイルを変更した場合に、前回の設定値がキャッシュで残ることがあるそうです。
見返しても間違いがない場合は以下のコマンドで設定ファイルのキャッシュをクリアしてみてください。

php artisan config:cache
以上です! いろいろと大変なこともありますが..お互い頑張りましょう!
profile_icon
taka
プログラマー
2017年11月から業務でPHPを触りだしたエンジニアです。 業務経験8年程度。 2022年から「要求整理→設計→実装→テスト→リリース」と開発のステップをきちんと経験したく、 転職を始めましたが、なかなか思う通りには・・・いっていません。 現職が自社案件枯渇、本社エリア以外のSES案件の繋がりがなしと急に発覚し、 26/05から急遽強制的に転職活動中。 現職をやめるつもりはなかったし、転職は本当に最後にしたいのでもしよければお声がけください。 参画したPJ、エンジニアとしての経験をまとめたGitHubリポジトリもあります。 https://github.com/tm-qc/project-experience