PHP无法连接到CentOS 7上的PostgreSQL

Fra*_*ens 6 php postgresql centos centos7

我在OSX上的VirtualBox中运行了CentOS 7.Apache,PHP 5.4和PostgreSQL 9.2都在运行.但是,当我的(简单)php脚本尝试连接到PostgreSQL时,它不起作用:

警告:pg_connect():无法连接到PostgreSQL服务器:无法连接到服务器:权限被拒绝服务器是否在主机"127.0.0.1"上运行并接受端口5432上的TCP/IP连接?在第7行的/var/www/html/pg.php中

检查:

  • Apache正在运行
  • PHP很好,phpinfo()告诉我PostgreSQL函数是可用的
  • PostgreSQL 9.2正在运行
  • psql可以使用localhost或127.0.0.1以及192.168.178.111连接到数据库
  • 我的Mac上的pgAdmin可以使用IP地址192.168.178.111连接到此数据库
  • iptables已被关闭
  • pg_hba.conf已被更改为接受所有连接而没有任何密码(愚蠢,我知道):

托管所有0.0.0.0/0信任

但是php无法连接....这是我的脚本:

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

echo 'hello world!';

$conn = pg_connect('host=127.0.0.1 port=5432 user=postgres dbname=postgres');
?>
Run Code Online (Sandbox Code Playgroud)

内部连接工作(psql),外部连接也工作(我的笔记本电脑上的pgAdmin),但PHP连接不起作用...

出了什么问题?我错过了什么?

Mic*_*ton 11

可能SELinux阻止了您的数据库连接.

确保设置正确的布尔值以允许Web应用程序与数据库通信:

sudo setsebool -P httpd_can_network_connect_db 1
Run Code Online (Sandbox Code Playgroud)