Laravel报could not find driver (SQL: PRAGMA foreign_keys = ON;)问题问询
问题根因
运行electron应用的PHP服务未加载pdo_sqlite扩展,而命令行执行php artisan migrate时调用的是系统全局的PHP可执行文件,两者PHP版本不匹配,因此出现命令行执行正常但Web访问报错的情况。
问题现象
更换新设备后出现异常:artisan的migrate命令可正常执行,但访问涉及数据库连接的页面时会抛出错误:could not find driver (SQL: PRAGMA foreign_keys = ON;)
原有运行配置
- 框架版本:Laravel 8.40
- PHP版本:7.3,已启用扩展如下:
- pdo_sqlite
- sqlite3
- pdo_mysql
修复步骤
- 先定位electron应用绑定的PHP服务对应的
php.ini配置文件:在Laravel的Web路由中临时加入phpinfo();,访问对应路由输出当前Web环境的PHP配置信息,找到Loaded Configuration File对应的路径即为生效的配置文件 - 编辑该
php.ini文件,找到;extension=pdo_sqlite行,删除行首的分号注释 - 重启electron关联的PHP服务,重新访问页面验证即可
内容的提问来源于stack exchange,提问作者a.badawi
相关产品推荐
相关产品推荐

