Laravel 5.1 - `php artisan migrate` 正在给予 'PDOException'

Laravel 5.1 - `php artisan migrate` is giving 'PDOException'

我知道这是一个重复的问题,但是无论我尝试什么,不幸的是没有运气。 (补充一下,我正在使用 MAMP)

我相信我成功设置了数据库连接,因为使用注册表单 (Auth/register),在提交表单后,我收到错误 PDO Exception: Driver not found 之前,但是在将我的 MAMP 从默认值 (PHP 5.6.1) 更改为 PHP 5.5.17 之后,我开始收到错误:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laravel.users' doesn't exist,我相信这表明数据库连接正在工作并且它是只是 'users table' 没有创建。

这里开始我的问题。当我尝试在终端中使用 php artisan migratemigrate:{anything} 时,它会抛出错误:

[PDOException]
could not find driver

但我想做的是使用 php artisan migrate 来创建表并迁移它们。



我尝试过的事情:

所以我觉得还可以。



PDO PDO support => enabled PDO drivers => sqlite PDO Driver for SQLite 3.x => enabled

Configuration File (php.ini) Path: /Applications/MAMP/bin/php/php5.6.1/conf Loaded Configuration File: /Applications/MAMP/bin/php/php5.6.1/conf/php.iniphp artisan migrate 仍然抛出相同的错误

解决方案:

我选择 MAMP 在浏览器中使用版本 5.5.17 而不是 5.6.1(来自 MAMP 首选项),但是这次终端是 运行 5.6.1。我所做的是首先检查 which PHP 命令,然后 运行 nano ~/.bash_profile 命令;并编辑版本文件。现在一切都准备就绪 运行 :)

您在浏览器中看到的是您通过 apache 为 PHP 运行 启用了 PDO。但这并不意味着您通过 CLI 为 PHP 运行 启用了它(实际上它们使用两个单独的 ini 文件)。确认可以试试:

php -i | grep PDO

您会看到它丢失或未启用。所以你需要做的是通过 CLI 找到哪个 php.ini 使用 PHP 运行 并在那里添加 PDO 模块:

php -i | grep Conf

它将输出如下内容:

Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini