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


Laravel migration error using XAMPP: [PDOException] could not find driver

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

我正在尝试使用 Windows 4.2 上的 XAMPP 在我的本地服务器上的 Laravel 7 中进行测试迁移。当我尝试运行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 上运行 XAMPP 而不是默认的 80 和 3306 的问题(尽管我相信我确实正确配置了 XAMPP 的配置文件,因为我已经能够在这些端口上运行其他应用程序(。还有其他我可能错过的Laravel配置文件吗?

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

所以它确实是 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 中,迁移运行完美。

我在Linux Ubuntu 15.10上使用Laravel 5.1和php5-fpm和NGINX时遇到了这个错误。似乎问题是由于缺少PHP模块而来的。我解决了在我的系统php5-mysql上安装的问题。只需运行:

sudo apt-get install php5-mysql

在Windows上可以解决此问题,我希望php.ini文件中包含MySQL模块。在 XAMPP 上,默认情况下应该包含此功能。

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

我建议您查看此答案,该答案可能会解决问题:https://stackoverflow.com/a/25336292/2745485

问候。