gpt4 book ai didi

mysql - Laravel 5.1 - `php artisan migrate` 给出 'PDOException'

转载 作者:行者123 更新时间:2023-11-29 01:16:21 24 4
gpt4 key购买 nike

我知道这是一个重复的问题,但无论我尝试什么,不幸的是没有运气。 (补充一点,我用的是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 ,我认为这表明数据库连接正常,只是 “用户表” 没有创建。

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

[PDOException]
could not find driver

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



我尝试过的事情:

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

所以我觉得还可以。


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

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

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.ini
但是php 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

您会看到它丢失或未启用。所以你需要做的是找到哪个 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

关于mysql - Laravel 5.1 - `php artisan migrate` 给出 'PDOException',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31546062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com