2010-08-14 63 views
5

编辑到PostgreSQL:我刚刚意识到这个问题可能更适合ServerFault。主持人请不要复制它,请移动它?谢谢。无法连接与PHP pg_connect()

我检查PHP的信息,而PostgreSQL的扩展是有(pg_connect()不是未定义)。我也能连接使用本地主机psql到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()); 
?> 

此代码只是导致“无法连接:”显示在浏览器中。

我检查了我的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? 

如何解决/调试呢?

编辑:我在CentOS 5.4 BTW。

回答

10

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

编辑:我在CentOS 5.4 BTW。

检查/var/log/audit/audit.log。有可能你正在碰到SELinux规则。

+2

谢谢,仅此而已。我只是'setenforce 0',它工作。 – ehsanul 2010-08-14 03:49:24

+7

您还可以运行 setsebool -P httpd_can_network_connect 1 – garg 2012-05-10 14:41:10