无法使用PHP pg_connect()连接到PostgreSQL

ehs*_*nul 5 php postgresql centos

编辑:我刚刚意识到这个问题可能更适合ServerFault.主持人请将其移动,而不是复制它?谢谢.

我已经检查了php-info,并且Postgresql扩展已经存在(pg_connect()未定义).我也可以使用psqllocalhost 连接到postgresql (我已经适当地编辑了我的pg_hba.conf文件).这是不起作用的代码:

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=mydb user=myuser password=mypass") or die('Could not connect: ' . pg_last_error());
?>
Run Code Online (Sandbox Code Playgroud)

此代码只会导致浏览器中显示"无法连接:".

我检查了我的apache日志,这是相关的错误消息:

PHP Warning:  pg_connect() [<a href='function.pg-connect'>function.pg-connect</a>]: 
Unable to connect to PostgreSQL server: could not connect to server: Permission 
denied\n\tIs the server running on host &quot;localhost&quot; and accepting\n\tTCP/IP 
connections on port 5432?
Run Code Online (Sandbox Code Playgroud)

我该如何修复/调试这个?

编辑:我在Centos 5.4 btw.

Cha*_*les 10

无法连接到服务器:权限被拒绝

编辑:我在Centos 5.4 btw.

检查/var/log/audit/audit.log.您可能会遇到SELinux规则.

  • 您也可以运行setsebool -P httpd_can_network_connect 1 (7认同)
  • 谢谢,就是这样.我刚做了'setenforce 0`并且它有效. (2认同)