Laravel入門2:「Illuminate\Database\QueryException could not find driver (SQL: PRAGMA foreign_keys = ON;)」
こんちは。
今回もphpのWebアプリケーションフレームワークLaravelの入門で、つまづいたエラーを紹介します。
今回は、データベース構築で遭遇したエラー
「Illuminate\Database\QueryException
could not find driver (SQL: PRAGMA foreign_keys = ON;)
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:670」
の解消方法です。
データベースは入門なのもあって、spliteを使うことにしました。
操作は下記
①データベースを作成
sqlite3 database/database.sqlite
・databaseディレクトリにdatabase.sqliteというsqliteのファイルを作る
②.envファイルを編集
DB_CONNECTION=sqlite
DB_DATABASE=database/database.sqlite
・sqliteを使う設定にし、使用するデータベースのパスをdatabase/database.sqliteに指定する
③migrateコマンド実行
php artisan migrate
・データベースにテーブルやカラムを作成する
基本的には、この簡単な操作でデータベースの設定が終わるはずだが、僕の環境では、
③の実行でタイトルのエラーが出た。
<解決策>
sqliteを触るためのphpのパッケージが必要なだけでした。w
まずphpのバージョンを確認します。
php --version
その後、phpのバージョンに合わせて、パッケージをインストールします。
sudo apt-get install php7.4-sqlite3
このエラーも、探してもなかなか出てこなくて30分くらい使いました。