PHP 无法连接到 CentOS 7 上的 PostgreSQL

PHP can't connect to PostgreSQL on CentOS 7

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

Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Permission denied Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432? in /var/www/html/pg.php on line 7

支票:

host all all 0.0.0.0/0 trust

但是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');
?>

内部连接有效(psql),外部连接也有效(我笔记本电脑上的 pgAdmin),但 php 连接无效...

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

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

确保您设置了正确的布尔值以允许您的 Web 应用程序与数据库对话:

sudo setsebool -P httpd_can_network_connect_db 1