我收到此错误消息,但在线搜索没有任何结果。 基本上我尝试使用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路径添加为用户和系统路径,但没有成功。
还有其他人遇到过这个问题吗?那么错误表明了什么以及如何解决它?
答案 0 :(得分:0)
您的问题是您没有将PostgreSQL更新到最新的错误修正版like you should。
这是bug 14872,已修复为commit db6986f47c9531628d151d6bf760a2fe1214b19d。
触发该错误的原因是运行PostgreSQL客户端代码的用户的主目录不存在。