为 postgres Ubuntu 安装 pdo

Posted

技术标签:

【中文标题】为 postgres Ubuntu 安装 pdo【英文标题】:Install pdo for postgres Ubuntu 【发布时间】:2011-11-03 02:20:40 【问题描述】:

我正在尝试为我的 php 安装启用 pdo 驱动程序,但是当我运行命令时

./configure --prefix=/usr/local/webserver/php --with-apxs2=/usr/local/webserver/apache2/bin/apxs --enable-mbstring --enable-intl --with-icu-dir=/usr --with-pgsql=/usr/local/webserver/postgres --with-pdo-pgsql=/usr/local/webserver/postgres

我明白了

"Unable to build the PDO PostgreSQL driver: libpq 7.4+ is required"

我在那个目录中安装了 postgresql

/usr/local/webserver/postgres

我使用 bin 包和 php 5.3 安装了 postgresql 9.0.4.1

【问题讨论】:

【参考方案1】:

尝试使用打包的 pecl 版本(打包安装的优点是更容易升级):

apt-get install php5-dev
pecl install pdo
pecl install pdo_pgsql

或者,如果您只需要 PHP 的 一个 驱动程序,但它不必是 PDO 驱动程序:

apt-get install php5-pgsql

否则,该消息很可能意味着您需要安装更新的 libpq 软件包。 您可以通过运行检查您拥有的版本:

dpkg -s libpq-dev

【讨论】:

请注意,此答案已过时,请参阅 Will 下面的答案。【参考方案2】:

PostgreSQL 的 PDO 驱动程序现在包含在 debian 包 php5-dev 中。上述使用 Pecl 的步骤不再有效。

【讨论】:

【参考方案3】:

Pecl PDO 包现已弃用。顺便说一句,debian 包 php5-pgsql 现在包括常规驱动程序和 PDO 驱动程序,所以只需:

apt-get install php-pgsql

Apache 也需要重新启动,站点才能使用它:

sudo systemctl restart apache2

【讨论】:

我不确定该软件包是否包含 PDO 驱动程序。谢谢! 之后记得执行:php5enmod pgsql 之后,还需要重启你的web服务器 我不记得那一刻我是如何解决的,但我现在可以说的是,对于 Debian 和 Ubuntu,@alex 说的是正确的安装方法。但是我必须说,像 14 和之前的 Ubuntu 版本已经包含一个 Postgres 版本(我认为是 9.0)如果你想安装一个像 9.3 这样的新版本,你可以使用 apt-get purge postgresql -y && apt-获取安装 postgresql-9.3 -y【参考方案4】:

如果您正在使用带有 php7.0 的精彩 ondrej/php ubuntu 存储库:

sudo apt-get install php7.0-pgsql

对于 ondrej/php 带有 php7.1 的 Ubuntu 存储库:

sudo apt-get install php7.1-pgsql

相同的存储库,但用于 php5.6:

sudo apt-get install php5.6-pgsql

简洁易记。我喜欢这个存储库。

【讨论】:

没有问题,但真正感谢 ondrej。他/她让 PHP 安装变得如此简单 这真的很简单,只是做了php7.3-pgsql。干杯【参考方案5】:

如果您使用的是 PHP 5.6,则命令为:

sudo apt-get install php5.6-pgsql

【讨论】:

这是给我的——花了几个小时把我的头撞在墙上:在 Laravel Homestead 中“[PDOException] 找不到驱动程序”

以上是关于为 postgres Ubuntu 安装 pdo的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 安装postgres后,解决可接受任何密码或无密码的问题

GPS精度因子(GDOP,PDOP,HDOP,VDOP,TDOP)

Ubuntu PostgreSQL安装和配置

Ubuntu下postgre与postgis安装

ubuntu上安装postgres以及在远程连接上的坑

如何修复 postgres 安装 ubuntu 上的错误