Zend framework-与postgresql的连接

Zend framework-与postgresql的连接,postgresql,zend-framework,connection,Postgresql,Zend Framework,Connection,我在Zend framework应用程序中尝试连接postgresql数据库时遇到问题。在我的application.ini中,我使用 resources.db.adapter = PDO_PGSQL resources.db.params.host = localhost resources.db.params.username = root resources.db.params.password = testtest resources.db.params.dbname = testdb

我在Zend framework应用程序中尝试连接postgresql数据库时遇到问题。在我的application.ini中,我使用

resources.db.adapter = PDO_PGSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = testtest
resources.db.params.dbname = testdb
但是当我运行应用程序时,我收到了一条错误消息 消息:SQLSTATE[08006][7]无法创建套接字:协议不支持地址族

你能告诉我有什么问题吗

Zend版本1.12.3.,PostgreSQL版本9.0.7,PHP版本5.3.5


谢谢,Marek。

localhost
正在(很可能)解析为localhost的IPv6地址(
::1
),但由于使用的协议/模块不支持IPv6连接,因此连接失败

你也可以

  • 改用
    127.0.0.1
    作为主机,这将强制连接到IPv4本地主机

  • 完全卸下主机线,这将强制通过UNIX套接字进行连接

    • 我也有类似的问题:

      PDO异常:SQLSTATE[08006][7]无法连接到服务器: 连接被拒绝是主机“localhost”上运行的服务器 (127.0.0.1)并在端口5432上接受TCP/IP连接?在里面 锁可能可用() web/drupal/includes/lock.inc)

      该问题是由于磁盘已满引起的。和PostgreSQL数据库被阻止/冻结。
      释放一些空间并重新启动PostgreSQL DB解决了我的问题

      谢谢您的回答,但是在将主机更改为127.0.0.1后,我收到一条消息:消息:SQLSTATE[08006][7]无法连接到服务器:连接被拒绝服务器是否在主机“127.0.0.1”上运行并在端口5432上接受TCP/IP连接?我通常通过psql客户端或pgAdmin连接到数据库,这很有效。任何人都不知道为什么它不起作用。谢谢。@MarekHajžman那么您的PostgreSQL似乎根本没有在监听网络(至少是本地主机)。尝试完全删除主机行,它应该(除非它与其他PDO实现不同)默认为UNIX套接字。