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

Laravel Homestead:Windows Git终端执行php artisan migrate报could not find driver

问题成因分析

这个情况的核心原因其实很好理解:

  • 你在Windows的Git终端执行命令时,调用的是Windows本地安装的PHP环境,这个环境缺少Laravel数据库迁移必需的PDO驱动(比如pdo_mysql,具体取决于你用的数据库类型)。
  • 而通过vagrant ssh进入虚拟机后,使用的是虚拟机内部独立配置的PHP环境——这个环境已经正确安装并启用了PDO驱动,所以php artisan migrate能正常运行。
具体解决步骤

按照以下步骤一步步排查修复:

  1. 检查本地PHP的PDO驱动状态
    在Git终端执行命令,查看当前PHP已加载的扩展:

    php -m
    

    仔细看输出列表,确认是否有pdo_mysql(如果你用的是MySQL/MariaDB)或者对应数据库的PDO驱动(比如pdo_pgsql对应PostgreSQL)。如果没有,说明驱动确实未启用或未安装。

  2. 找到本地PHP的配置文件(php.ini)
    在Git终端执行命令,定位当前PHP正在加载的配置文件路径:

    php --ini
    

    重点关注Loaded Configuration File这一行,这就是你需要编辑的php.ini文件路径。

  3. 启用PDO驱动
    用文本编辑器打开找到的php.ini文件,进行如下操作:

    • 搜索关键词pdo_mysql(对应你的数据库类型),找到类似这样的注释行:
      ;extension=pdo_mysql
      
    • 去掉行首的分号;,将其修改为:
      extension=pdo_mysql
      
      (注意:如果你的PHP版本是7.4及以上,部分独立安装环境可能需要写成extension=pdo_mysql.dll)
    • 如果找不到这行代码,直接在文件末尾添加上面的启用语句即可。
  4. 验证修复效果
    保存php.ini后,重启本地的Web服务(比如XAMPP/WAMP的Apache或Nginx),然后回到Git终端再次执行:

    php artisan migrate
    

    此时应该就能正常执行数据库迁移了。

额外注意事项
  • 如果你的本地PHP是独立安装的(非集成环境),还要确保ext目录下存在对应的驱动文件(比如php_pdo_mysql.dll),并且php.ini里的extension_dir配置指向了正确的ext目录路径。
  • 确认本地PHP版本和Laravel项目要求的版本兼容,版本不兼容也可能导致驱动加载异常。

内容的提问来源于stack exchange,提问作者user7995285

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:03:47