You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 01:52:48