执行php artisan migrate报错:could not find driver及php.ini路径为空问题
解决Laravel迁移时"could not find driver"(MySQL连接)问题
核心问题分析
当前PHP CLI未加载任何配置文件(php --ini显示Loaded Configuration File: (none)),导致PDO MySQL扩展未生效,进而Laravel无法连接MySQL完成迁移。
分步解决方案
1. 确认CLI使用的PHP版本与Laragon一致
执行以下命令查看当前CLI的PHP版本:
php -v
对比Laragon面板中显示的PHP版本,确保两者一致。如果不一致,说明系统中存在其他PHP版本,CLI优先调用了非Laragon的PHP。
2. 手动指定php.ini路径执行迁移
找到Laragon的PHP安装目录(例如C:\laragon\bin\php\php-8.2.10),找到其中的php.ini文件,执行迁移时强制加载该配置:
php -c "C:\laragon\bin\php\php-8.2.10\php.ini" artisan migrate
如果此命令能成功执行,说明问题确实是CLI未加载正确的php.ini。
3. 配置环境变量让CLI优先使用Laragon的PHP
- 打开系统环境变量设置(右键「此电脑」→ 属性 → 高级系统设置 → 环境变量)
- 在「系统变量」的
Path中,添加Laragon的PHP目录(如C:\laragon\bin\php\php-8.2.10),并将其移到最顶部 - 重启所有命令行窗口,执行
php --ini,此时应能看到Loaded Configuration File显示正确的php.ini路径
4. 验证Laragon的PHP是否启用PDO MySQL扩展
打开Laragon的php.ini文件,确保以下两行未被注释(行首没有;):
extension=pdo_mysql extension=mysqli
保存配置后,执行php -m,查看输出中是否包含pdo_mysql模块。
5. 排除Docker容器内的PHP问题
如果是在Docker容器内执行迁移:
- 进入容器:
docker exec -it [容器名/ID] bash - 执行
php -m检查是否存在pdo_mysql模块 - 如果缺失,修改Dockerfile添加扩展安装命令:
RUN docker-php-ext-install pdo_mysql - 重新构建镜像并启动容器,再尝试迁移。
内容的提问来源于stack exchange,提问作者Salas23
相关产品推荐
相关产品推荐

