##目的
Laravel8でSQLiteの導入時に複数回エラーが発生した。
解決策の備忘録として記載する。
##環境
Laravel v8.47.0
PHP v7.4.18
Apache 2.4
Windows10 Pro
##事前情報
テーブル作成時にコマンドphp artisan migrate
は使用しない方法です。
SQLiteの細かい導入方法は割愛します。
#エラーの内容と対応
##画面が真っ白になった
###.envファイルのパス記述に半角スペースがあることが原因
DB_DATABASEは絶対パスで記述する必要があるのですが、パスの記述に半角スペースが含まれていることが原因でした。
パスを""で囲うことで解決しました。
変更前
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;)”
ドライバーが見つからないと言っています。
###使用しているPHPのphp.iniのSQLiteドライバを有効にする
※Laravelの設定ファイルではありません。PHPの設定ファイルです。
以下のようにコメントアウトを外して保存してください。
変更前
;extension=pdo_sqlite
変更後
extension=pdo_sqlite
※PHPのバージョンによっては以下のような記述の場合もあるとのこと
extension=php_pdo_sqlite
設定後、Apacheを再起動
##エラー文 ”SQLSTATE[HY000]: General error: 1 no such table: sessions”
初期値だとエラーになってしまったので、記述を変更した。
変更前
SESSION_DRIVER=database
変更後
SESSION_DRIVER=file
##まとめ
エラーの調査を進める中で、色々な方が同じようなエラーの解決方法をネットにあげてくれていたのですが、自分の環境に合うものがなかなか見つかりませんでした。
同じような境遇に方に少しでもお役に立てることができれば嬉しいです。