我知道这是一个重复的问题,不管我试过什么,不幸的是没有运气。 (补充一下,我正在使用MAMP)
我相信我成功设置了数据库连接,因为在提交表单后,使用注册表单( Auth / register ),我之前收到错误PDO Exception: Driver not found
,但是在更改之后我从默认(PHP 5.5.17
)到我的MAMP PHP 5.6.1
,我开始收到错误:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laravel.users' doesn't exist
,我相信这表明数据库连接正常,而且只是'用户表'未创建。
这里开始我的问题。当我尝试在终端中使用php artisan migrate
或migrate:{anything}
时,它会抛出错误:
[PDOException]
找不到司机
但我想要做的是使用php artisan migrate
来创建表并迁移它们。
<?php echo phpinfo(); ?>
。
我得到了结果:所以我认为似乎没问题。
/MAMP/bin/php/php5.6.1/conf/php.ini
并在代码中添加extension=pdo_mysql.so
,但我已将其放置在那里。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.ini
但php artisan migrate
仍然犯同样的错误
我选择MAMP在浏览器中使用版本5.5.17而不是5.6.1(来自MAMP首选项),但这次终端运行的是5.6.1。我所做的是首先检查which PHP
命令,然后运行nano ~/.bash_profile
命令;并编辑版本文档。现在一切都正常运行:)
答案 0 :(得分:7)
您在浏览器中看到的是,您为通过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