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

时间:2014-12-08 15:38:20

标签: php laravel

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

我正尝试在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上运行XAMPP而不是默认的80和3306可能是一个问题(虽然我相信我确实已经正确配置了XAMPP的配置文件,因为我&#39 ;已经能够在这些端口上运行其他应用程序了。)是否还有其他可能错过的Laravel配置文件?

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

3 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:2)

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

我建议您查看可以解决问题的答案:https://stackoverflow.com/a/25336292/2745485

问候。

答案 2 :(得分:1)

我在Linux Ubuntu 15.10上用php5-fpm和NGINX使用Laravel 5.1时出现此错误。似乎问题来自缺少PHP模块。我在我的系统php5-mysql上解决了这个问题。只需运行:

sudo apt-get install php5-mysql

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