【问题标题】:Laravel 5.1 - `php artisan migrate` is giving 'PDOException'Laravel 5.1 - `php artisan migrate` 给出了 'PDOException'
【发布时间】:2015-10-11 07:42:04
【问题描述】:

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

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

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

[PDO异常]
找不到驱动

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



我尝试过的事情:

  • 如果 pdo 文件安装成功,我添加了<?php echo phpinfo(); ?>。 我得到了结果:

所以我觉得还可以。


  • 人们在谈论打开 /MAMP/bin/php/php5.6.1/conf/php.ini 并在代码中添加 extension=pdo_mysql.so,但我的已经放在那里了。

  • 当我在项目根目录 (/MAMP/htdocs/proj) 中尝试 php -i | grep PDO 时,我得到了:

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

  • php -i | grep Conf 和 `php --ini 也输出:

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 Preferences),但是这次终端运行的是 5.6.1。我所做的是首先检查which PHP 命令,然后运行nano ~/.bash_profile 命令;并编辑版本文档。现在一切都已启动并运行:)

【问题讨论】:

    标签: mysql laravel pdo mamp


    【解决方案1】:

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

    php -i | grep PDO
    

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

    php -i | grep Conf
    

    它会输出如下内容:

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

    【讨论】:

    • 我编辑了 OP(我尝试过的部分)。请看一下
    • @senty 我也编辑了我的答案,请看一下,让我知道结果。
    • 是的,我看到了输出:Configuration File (php.ini) Path => /etc/php5/cli Loaded Configuration File => /etc/php5/cli/php.iniphp artisan migrate 仍然抛出同样的错误[PDOException] could not find driver
    • @senty 您是否将 PDO 模块添加到该 ini 文件中?
    • extension=pdo_mysql.so 已经存在于我的 php.ini 文件中:/
    猜你喜欢
    • 2015-04-12
    • 2016-07-30
    • 1970-01-01
    • 2015-05-11
    • 2023-03-27
    • 2016-01-13
    • 1970-01-01
    • 2018-07-28
    • 2016-08-09
    相关资源
    最近更新 更多