使用 XAMPP 的 Laravel 迁移错误:[PDOException] 找不到驱动程序 [重复]

Posted

技术标签:

【中文标题】使用 XAMPP 的 Laravel 迁移错误:[PDOException] 找不到驱动程序 [重复]【英文标题】:Laravel migration error using XAMPP: [PDOException] could not find driver [duplicate] 【发布时间】:2015-02-06 07:26:54 【问题描述】:

我看到了一些与此类似的问题,但它们似乎主要针对与我使用的环境不同的环境,所以我希望这不是重复。

我正在尝试在 Windows 7 上使用 XAMPP 在本地服务器上的 Laravel 4.2 中进行测试迁移。当我尝试运行 php artisan migrate 时,出现错误:

  [PDOException]
  could not find driver



migrate [--bench[="..."]] [--database[="..."]] [--force] [--path[="..."]] [--pac
kage[="..."]] [--pretend] [--seed]

我看到的大多数其他建议都是关于 php.ini 文件的,但我确实有未注释的必要行:

extension=php_pdo_mysql.dll

当我查看我的 phpinfo() 时,它似乎正在运行:

                 mysqlnd
...
API Extensions          mysql,mysqli,pdo_mysql


                 pdo_mysql
PDO Driver for MySQL    enabled
Client API version      mysqlnd 5.0.11-dev - 20120503 - $Id: 
                        bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $

我唯一的想法是我在端口 81 和 3307 而不是默认的 80 和 3306 上运行 XAMPP 可能是个问题(尽管我相信我确实正确配置了 XAMPP 的配置文件,因为我已经能够运行其他应用程序在这些端口上正常)。还有其他我可能错过的 Laravel 配置文件吗?

编辑 11/15 我看到有人问过here 的类似问题,但值得一提的是,该用户的错误似乎是在安装过程之后发生的(它似乎已通过 Laravel 而不是通过 php.ini 文件)。这个特定问题似乎与安装过程本身有关,并且似乎对至少一些在其他版本的问题中也无法找到具体答案的人有所帮助。

【问题讨论】:

我知道这是旧的,但为了保命:检查你的Default Database Connection Name它必须是'default' => 'mysql', 【参考方案1】:

发生这种情况的原因有很多。 未设置默认数据库类型(config/database.php), 或未启用扩展程序, 或者你已经启用了扩展但没有重新启动 XAMPP, 或者环境设置下的PATH设置没有正确定义。

我建议您查看这个可能解决问题的答案:https://***.com/a/25336292/2745485

问候。

【讨论】:

【参考方案2】:

我在带有php5-fpmnginx 的 Linux Ubuntu 15.10 上使用 Laravel 5.1 时遇到了这个错误。似乎问题出在缺少 PHP 模块。我在我的系统php5-mysql 上解决了这个安装问题。只需运行:

sudo apt-get install php5-mysql

在 Windows 上,这可以修复,我希望在 php.ini 文件中包含 MySQL 模块。在 XAMPP 上,这应该默认包含在内。

【讨论】:

【参考方案3】:

所以它确实是 PATH 设置的问题。非常感谢@ykbks。提供的链接虽然不太清楚如何诊断它,所以只是扩展它,希望它可以从我运行的命令行帮助处于同一位置的人

C:\>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         (none)        <<Problem
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

所以我一直在更改系统看不到的 php.ini 文件。我将 XAMPP 的 php 文件夹添加到 PATH 并且迁移运行完美。

【讨论】:

哦,是的!这篇文章对我帮助很大!只是备注:添加PATH设置后考虑重新启动计算机 不错的一个。我在设置 Composer 时安装了 PHP,然后当我安装 XAMPP 并更新 php.ini 文件(用于 XAMPP)时,我不知道为什么它不起作用。我的全局路径仍然指向 C:\php 而不是 C:\xampp\php。 也发生在我身上。谢谢:) 这就是原因。您在命令行中编写的命令使用 Xampp 提供的另一个 php 包。因此,您必须在“php --ini”显示为“加载的配置文件”的文件中启用 php_pdo 扩展。这解决了我的问题。谢谢@cchapman

以上是关于使用 XAMPP 的 Laravel 迁移错误:[PDOException] 找不到驱动程序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac 上使用 XAMPP 在 Laravel 中查询错误有啥问题?

laravel 需要 Xampp 吗?

php artisan migrate 不适用于 Laravel 5.4 中的 XAMPP

Laravel:在迁移之前删除迁移:重置

Laravel xampp 迁移缺少的驱动程序 windows 10

Laravel 迁移重置失败