我正在尝试为我的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答案 0 :(得分:81)
Pecl PDO包现已弃用。顺便说一下,debian包php5-pgsql现在既包括常规驱动程序也包含PDO驱动程序,所以只是:
apt-get install php-pgsql
Apache也需要在网站使用之前重新启动:
sudo systemctl restart apache2
答案 1 :(得分:24)
尝试使用打包的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
答案 2 :(得分:17)
如果你正在使用精彩的ondrej/php
ubuntu存储库和php7.0:
sudo apt-get install php7.0-pgsql
对于带有php7.1的ondrej/php
Ubuntu存储库:
sudo apt-get install php7.1-pgsql
相同的存储库,但对于php5.6:
sudo apt-get install php5.6-pgsql
简洁易记。我喜欢这个存储库。
答案 3 :(得分:8)
PostgreSQL的PDO驱动程序现在包含在debian软件包php5-dev中。使用Pecl的上述步骤不再有效。
答案 4 :(得分:0)
如果您使用的是PHP 5.6,则命令为:
sudo apt-get install php5.6-pgsql