Laravel 8路由访问出现PDOException: Could not find driver报错如何解决
PDOException: Could not find driver 问题解决方案
这个错误的核心原因是PHP运行环境未加载对应数据库的PDO驱动,可按照以下步骤逐一排查解决:
1. 安装并启用对应数据库的PDO扩展
Laravel默认使用MySQL数据库,优先检查pdo_mysql扩展状态:
- 本地集成环境(XAMPP/WAMP/MAMP):直接在环境的扩展管理面板勾选
pdo_mysql选项,重启集成环境即可生效 - Linux服务端(Ubuntu/Debian为例):运行对应版本的扩展安装命令
对应PHP7.x版本:sudo apt install php7.x-mysql
对应PHP8.x版本:sudo apt install php8.x-mysql
安装完成后重启PHP-FPM和Nginx/Apache服务 - 自定义编译PHP环境:找到
php.ini配置文件,搜索extension=pdo_mysql,删除行首的注释符;,保存后重启Web服务
如果你使用的是非MySQL数据库(PostgreSQL/SQLite等),需要安装对应的PDO扩展,例如
pdo_pgsql、pdo_sqlite
2. 确认CLI和Web端的PHP配置一致
如果执行迁移命令正常但浏览器访问报错,说明命令行和Web端加载的是不同的php.ini文件:
- 新建
info.php文件写入代码<?php phpinfo(); ?>,通过浏览器访问该文件,查看Loaded Configuration File项对应的路径,就是Web端实际生效的配置文件,修改该文件的扩展配置即可 - 配置修改完成后,在
phpinfo页面搜索pdo_mysql,能看到扩展详情即为加载成功
3. 校验Laravel数据库配置
确认项目根目录.env文件的数据库参数正确:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=你的数据库名称 DB_USERNAME=你的数据库账号 DB_PASSWORD=你的数据库密码
修改配置后运行php artisan config:clear清除配置缓存。
4. 重启服务生效
所有配置修改完成后,重启Web服务、PHP-FPM服务;如果使用Laravel自带的本地开发服务,停掉php artisan serve重新运行即可。
内容的提问来源于stack exchange,提问作者Khaled Omar
相关产品推荐
相关产品推荐

