例外:SQLSTATE [7006] [7]无法获取主目录以查找服务定义文件

时间:2018-03-13 00:06:21

标签: php postgresql zend-framework pdo

我收到此错误消息,但在线搜索没有任何结果。 基本上我尝试使用PHP zendframework 1来连接PostgreSQL数据库(使用php_pdo_pgsql扩展)。在Zend_Db_Adapter_Pdo_Abstract下,它找到加载的扩展名,并且PDO驱动程序也可用。但是在下一步做出连接步骤时,我得到了上面的异常:异常:SQLSTATE [7006] [7]无法获取主目录以查找服务定义文件。

我仔细检查了config.xml文件,一切似乎都正确。

 <db>
        <adapter>pdo_pgsql</adapter>
        <params>
          <service>postgresql-x64-10</service>
          <port>5432</port>
          <host>127.0.0.1</host>
          <username>postgres</username>
          <password>password</password>
          <dbname>postgres</dbname>
          <charset>utf8</charset>
        </params>          
        ....

我可以使用pgAdmin或命令行在本地计算机上运行PostgreSQL而不会出现任何问题。

同样根据https://www.postgresql.org/docs/9.0/static/libpq-pgservice.html 我尝试将share文件夹下的pg_service.conf路径添加为用户和系统路径,但没有成功。

还有其他人遇到过这个问题吗?那么错误表明了什么以及如何解决它?

1 个答案:

答案 0 :(得分:0)

您的问题是您没有将PostgreSQL更新到最新的错误修正版like you should

这是bug 14872,已修复为commit db6986f47c9531628d151d6bf760a2fe1214b19d

触发该错误的原因是运行PostgreSQL客户端代码的用户的主目录不存在。