首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误[PDOException]:找不到驱动程序(PostgreSQL)

问错误[PDOException]:找不到驱动程序(PostgreSQL)
EN

Stack Overflow用户
提问于 2016-10-12 07:51:18
回答 1查看 3.8K关注 0票数 1

我见过很多关于这个错误的话题,但我认为我的情况是具体的。事情是这样:

我最初在我的Ubuntu服务器上安装了PHP5.5.9。为了安装最新的,我不得不将PHP升级到5.6。我使用this guide更新。我还有PostgreSQL 9.3。现在,phpinfo告诉我,我仍然安装了PHP5.5.9。然而,php -v告诉我我有PHP5.6。我已经成功地安装了Laravel,并且我能够连接到我的网页上的数据库(我可以从我的表中显示字段)。但是,当我试图在控制台中执行php artisan migrate时,我会得到以下错误:

代码语言:javascript
复制
[PDOException]
could not find driver

这很奇怪,因为我之前在PHP5.5.9上安装了pgsql驱动程序,在php.ini中取消注释的php.ini和连接到DB在我的网页上运行良好。

我认为问题在于我的服务器上有两个不同的php5版本:我的/etc文件夹中有文件夹/etc和php/5.6,它们有不同的配置。我尝试过删除和安装php5-pgsql包,但它似乎安装在以前的PHP版本上。我的/usr/lib文件夹中还有两个不同的文件夹。命令php -i | grep -i pdo不会在控制台中显示已安装的pgsql驱动程序。

有办法解决这个问题吗?我认为这是因为如果版本冲突。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-12 14:51:58

这里不仅有php/php 5包,而且还有libriache2-mod-php包。除非您在mod_cgi中使用PHP2-mod-php包,否则您也需要更新包libasache2-mod-php,以便在您的web服务器中具有适当的PHP。

正如您已经注意到的,有几个PHP配置目录和文件。如果您也想在版本5.6中使用Postgres和PDO,则必须在两个配置文件中启用它。

在我的系统(Ubuntu16.04)上,有子目录/etc/php/7.0/cli/conf.d和/etc/php/7.0/apache2/conf.d,它们都包含20-pdo_mysql.ini

;;php mysql模块的配置 ;priority=20 extension=pdo_mysql.so

因此,您可以并且必须分别为webserver和/或cli以及每个版本配置Postgres和PDO。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39993289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档