如何解决Laravel连接数据库时出现could not find driver报错
处理方案
could not find driver 报错的核心原因是PHP未加载MySQL PDO驱动,和Laravel数据库配置无关,按以下操作处理:
- 第一步:确认当前使用的PHP版本
执行命令php -v查看安装的PHP主版本,例如输出为PHP 8.2.*则记版本标识为82,PHP 8.1.*记为81,以此类推。 - 第二步:安装对应版本的pdo_mysql扩展
Manjaro属于Arch系发行版,PHP扩展包带有版本后缀,根据上一步得到的版本标识执行安装命令:
示例(PHP 8.2版本):sudo pacman -S php82-pdo_mysql
替换命令中的版本号为你实际使用的PHP版本即可。 - 第三步:启用扩展(未自动启用时操作)
编辑对应版本的PHP配置文件,路径示例为/etc/php82/php.ini,搜索;extension=pdo_mysql配置项,删除行首的分号;后保存文件。 - 第四步:重启服务使配置生效
- 若使用Nginx+PHP-FPM架构:执行
sudo systemctl restart php82-fpm(替换为对应版本号) - 若使用Apache服务:执行
sudo systemctl restart httpd - 若使用Laravel自带的artisan本地服务:直接终止当前运行的服务后重新执行
php artisan serve即可
- 若使用Nginx+PHP-FPM架构:执行
- 第五步:验证扩展是否加载成功
执行命令php -m | grep pdo_mysql,有pdo_mysql输出即说明扩展加载正常,此时重新访问Laravel项目即可正常连接数据库。
额外排查点:如果操作后仍报错,可确认CLI和Web端使用的PHP版本是否一致,避免出现CLI装了8.2版本扩展、Web端实际跑8.1版本PHP的版本不匹配问题。
内容的提问来源于stack exchange,提问作者Jsonx
相关产品推荐
相关产品推荐

