Laravel 11: SQLite driver missing
Laravel 11インストール後にSQLiteドライバが見つからないエラー
概要
Laravel 11をインストールした後、デフォルトのデータベース設定がSQLiteになっているため、SQLiteドライバが見つからないというエラーが発生します。Laravel 11からデフォルトのデータベースがSQLiteに変更されました。
エラーメッセージ
Illuminate\Database\QueryException
could not find driver (Connection: sqlite, SQL: ...)
PDOException: could not find driver
Database file at path [database/database.sqlite] does not exist.
原因
- Laravel 11の仕様変更: デフォルトDBがMySQLからSQLiteに変更された
- PHPのSQLite拡張が未インストール:
pdo_sqlite拡張がない - SQLiteファイルが存在しない:
database/database.sqliteが作成されていない - .envファイルの設定: DB_CONNECTIONが明示的に設定されていない
解決策
1. SQLiteを使用する場合
| |
| |
2. MySQLに変更する場合(推奨)
| |
| |
3. PostgreSQLに変更する場合
| |
4. .envファイルがない場合
| |
5. Laravel Sailを使用する場合
| |
6. SQLite拡張の確認
| |
7. PHP設定ファイルで有効化
| |
| |
8. Dockerでの対応
| |
| |
9. テスト用にSQLiteを使用
| |
10. 新規プロジェクト作成時の対応
| |
11. Laravel Installerのアップデート
| |
よくある間違い
- Laravel 11でデフォルトがSQLiteに変わったことを知らない
- .envファイルのDB_CONNECTIONを確認せずにmigrate実行
- PHPのSQLite拡張をインストールせずにSQLiteを使おうとする
- database/database.sqliteファイルを作成し忘れる
Laravel 11の変更点
| 項目 | Laravel 10 | Laravel 11 |
|---|---|---|
| デフォルトDB | MySQL | SQLite |
| .envファイル | 詳細な設定 | 最小限の設定 |
| 設定ファイル | config/に配置 | 一部は.envのみ |
関連エラー
参考リンク
Laravel の他のエラー
この記事は役に立ちましたか?