LoginSignup
2
1

More than 1 year has passed since last update.

Laravel 8 SQLite導入時のエラー備忘録

Posted at

目的

Laravel8でSQLiteの導入時に複数回エラーが発生した。
解決策の備忘録として記載する。

環境

Laravel v8.47.0
PHP v7.4.18
Apache 2.4
Windows10 Pro

事前情報

テーブル作成時にコマンドphp artisan migrateは使用しない方法です。
SQLiteの細かい導入方法は割愛します。

エラーの内容と対応

画面が真っ白になった

whiteout.png

.envファイルのパス記述に半角スペースがあることが原因

DB_DATABASEは絶対パスで記述する必要があるのですが、パスの記述に半角スペースが含まれていることが原因でした。
env.png
パスを""で囲うことで解決しました。

.env
変更前
DB_DATABASE=C:/Program Files/Apache Software Foundation/Apache24/htdocs/laravel/work_status_management/database/database.sqlite

変更後
DB_DATABASE="C:/Program Files/Apache Software Foundation/Apache24/htdocs/laravel/work_status_management/database/database.sqlite"

エラー文 ”could not find driver (SQL: PRAGMA foreign_keys = ON;)”

ドライバーが見つからないと言っています。
WS000032.JPG

使用しているPHPのphp.iniのSQLiteドライバを有効にする

※Laravelの設定ファイルではありません。PHPの設定ファイルです。
WS000033.JPG

以下のようにコメントアウトを外して保存してください。

php.ini
変更前
;extension=pdo_sqlite

変更後
extension=pdo_sqlite

※PHPのバージョンによっては以下のような記述の場合もあるとのこと
extension=php_pdo_sqlite 

設定後、Apacheを再起動

エラー文 ”SQLSTATE[HY000]: General error: 1 no such table: sessions”

SQLSTATE[HY000].png

.envファイルの以下記述を更新して保存する。

WS000041.JPG

初期値だとエラーになってしまったので、記述を変更した。

.env
変更前
SESSION_DRIVER=database

変更後
SESSION_DRIVER=file

まとめ

エラーの調査を進める中で、色々な方が同じようなエラーの解決方法をネットにあげてくれていたのですが、自分の環境に合うものがなかなか見つかりませんでした。

同じような境遇に方に少しでもお役に立てることができれば嬉しいです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1