我使用Laravel 5时遇到问题。当我运行“php aritsan migrate”时,我收到此错误
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? [y/N] y
[PDOException]
could not find driver
我可以运行该应用程序,但是当需要数据库连接时,我收到了此错误
PDOException in Connector.php line 55:
could not find driver
in Connector.php line 55
at PDO->__construct('mysql:host=localhost;dbname=mydb', 'root', '', array('0', '2', '0', false, false)) in Connector.php line 55
at Connector->createConnection('mysql:host=localhost;dbname=mydb', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'mydb', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, false)) in MySqlConnector.php line 22
如何解决?
答案 0 :(得分:54)
正在运行sudo apt-get install php7.0-mysql
为我修复了它。
答案 1 :(得分:36)
您应该在服务器上安装PDO。
编辑你的php.ini(查看你的phpinfo()
,"加载配置文件"行,找到php.ini文件路径)。
查找并取消注释以下行(删除;
字符):
;extension=pdo_mysql.so
然后,重新启动Apache服务器。 有关详情,请read the documentation。
答案 2 :(得分:18)
我使用的是Ubuntu 16.04和PHP 5.6.20
经过太多问题后,以下步骤为我解决了这个问题:
通过php.ini
phpinfo()
路径
取消注释
extension=php_pdo_mysql.dll
添加此行
extension=pdo_mysql.so
然后运行
sudo apt-get install php-mysql
答案 3 :(得分:8)
sudo apt-get update
对于Mysql数据库
sudo apt-get install php-mysql
对于PostgreSQL数据库
sudo apt-get install php-pgsql
比
php artisan migrate
答案 4 :(得分:6)
我在Ubuntu上尝试了以下命令,它为我工作
sudo apt-get install php7.0-mysql
由于
答案 5 :(得分:3)
这取决于您的php版本。检查它是否正在运行:
php -version
现在,根据您当前的版本,运行:
sudo apt-get install php7.2-mysql
答案 6 :(得分:1)
对我来说,问题是我不是从运行php的容器内部运行迁移命令。该扩展名已在此处正确设置,但未在我的主机上设置。
答案 7 :(得分:0)
如果dabase是postgres,并且如果有php7.2
sudo apt-get安装php7.2-pgsql 和 php artisan migration