执行php artisan migrate时出现Laravel could not find driver错误如何解决?
解决Laravel迁移报错"could not find driver"的方案
针对你遇到的问题,以下是几个针对性的排查和解决步骤:
确认PHP CLI的配置文件路径
很多时候你修改的是网页端的php.ini,但Laravel迁移使用的是CLI版本的PHP配置。执行php --ini命令,查看输出里的Loaded Configuration File路径,确保你修改的是这个文件,而非Apache/Nginx对应的网页环境配置文件。重启服务并验证扩展加载状态
- 修改配置文件后,重启PHP-FPM服务:
sudo systemctl restart php8.1-fpm,同时关闭当前终端重新打开,确保配置生效 - 执行
php -m命令,检查输出列表中是否存在pdo_mysql。如果没有,说明扩展未成功加载
- 修改配置文件后,重启PHP-FPM服务:
重新安装并启用扩展
若确认配置文件正确但扩展仍未加载,尝试重新安装并启用:sudo apt-get purge php8.1-mysql sudo apt-get install php8.1-mysql sudo phpenmod pdo_mysql执行完成后再次用
php -m验证扩展是否存在核对Laravel环境配置
再次确认.env文件中的数据库配置项,避免拼写错误:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=videoclub DB_USERNAME=你的数据库用户名 DB_PASSWORD=你的数据库密码重点确认
DB_CONNECTION是否为mysql,而非mysqli或其他值直接验证PHP与MySQL的PDO连接
创建一个简单的测试脚本test_pdo.php:<?php try { $pdo = new PDO('mysql:host=127.0.0.1;dbname=videoclub', '你的数据库用户名', '你的数据库密码'); echo "PDO连接成功!"; } catch (PDOException $e) { die("连接失败: " . $e->getMessage()); }执行
php test_pdo.php,如果仍报错找不到驱动,说明问题出在PHP扩展本身,与Laravel配置无关
内容的提问来源于stack exchange,提问作者Carlos Cámaras Miguel
相关产品推荐
相关产品推荐

