You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 11中“could not find driver”错误及后续问题解决办法

解决Laravel 11启动时的数据库驱动及会话表问题

关于最初的SQLite驱动问题(若后续需使用SQLite可参考)

你之前遇到的could not find driver关联PRAGMA foreign_keys = ON;错误,本质是PHP缺少SQLite的PDO扩展。如果之后还要用SQLite,需在php.ini中开启extension=pdo_sqlite,然后重启Apache服务。

重点解决MySQL配置后的会话表错误

切换到MySQL后出现的select * from sessions where id = ...错误,核心原因是MySQL中尚未创建sessions表——Laravel默认使用数据库存储会话时,依赖这个表来保存会话数据。按以下步骤操作即可解决:

1. 确认目标数据库已创建

登录MySQL(比如通过XAMPP的phpMyAdmin),检查是否存在名为laravel的数据库。如果没有,手动执行SQL创建:

CREATE DATABASE laravel;

2. 执行Laravel迁移命令

Laravel自带了会话表的迁移文件,打开终端进入项目根目录,运行以下命令生成所有默认数据表(包括sessions):

php artisan migrate

3. 清除配置缓存并重启服务

.env配置修改后可能不会立即生效,运行命令清除缓存:

php artisan config:clear
php artisan cache:clear

之后重启XAMPP的Apache和MySQL服务。

4. 确认会话驱动配置

打开config/session.php,检查driver配置项是否指向数据库:

'driver' => env('SESSION_DRIVER', 'database'),

如果.env中未设置SESSION_DRIVER,默认就是database,无需修改;若设置了其他值(如file)但你想用数据库存储会话,需将其改为database。

额外排查点

  • 确保XAMPP的MySQL模块处于运行状态;
  • 核对.env中的数据库账号密码是否与MySQL实际配置一致(比如root用户是否设置了密码)。

内容的提问来源于stack exchange,提问作者user14640679

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 03:36:09