当前位置: 首页>>技术教程>>正文


php – 带有消息“找不到驱动程序”的PostgreSQL ‘PDOException’

, , ,

问题描述

pdo在mysql上工作正常,但在pgsql下却给出错误提示'PDOException' with message 'could not find driver'我已经安装了php5-pgsql软件包,其中还包括pdo_pgsql

http://packages.debian.org/sid/php5-pgsql

This package provides a module for PostgreSQL database connections directly from PHP scripts. It also includes the pdo_pgsql module for use with the PHP Data Object extension.

我的dsn是pgsql:dbname=DB;host=192.168.0.2我正在使用Ubuntu 10.04

最佳方案

1)您是否在php.ini(extension=pgsql.so)中启用了pgsql.so?

2)您是否在192.168.0.2接口上进行Postgresql侦听? (您可以通过netstat -tpln进行检查)

3)您如何验证对Postgresql的访问?

次佳方案

此消息表示您需要在PHP中安装和/或激活postgresql扩展

这个解决方案对我有用:安装postgresql扩展

[sudo] apt-get install php-pgsql

在激活后,取消注释etc/php/$PHP_VERSION/apache2/php.ini文件中的pgsqlpdo-pgsql扩展名

最后,输入:

[sudo] /etc/init.d/apache2 restart

如果像我的情况那样使用apache来重启apache服务器…

第三种方案

确保您已取消注释告诉php在主php.ini文件中Postgres驱动程序在哪里的行(通常为extension=pgsql.so)。

第四种方案

我遇到过同样的问题。首先-检查是否在php.ini中启用了它。取消注释extension=php_pdo_pgsql...

比设置扩展目录!

extension_dir = "ext" ; for your case it could be other dir.

并且不要忘记在更改配置后重新启动服务器。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8165.html,未经允许,请勿转载。