为 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后,解决可接受任何密码或无密码的问题