У меня CentOS 7 работает в VirtualBox на OSX. Apache, PHP 5.4 и PostgreSQL 9.2 все работают. Но когда мой (простой) php-скрипт пытается подключиться к PostgreSQL, он не работает:
Предупреждение: pg_connect (): невозможно подключиться к серверу PostgreSQL: мог
не подключен к серверу: в доступе отказано Сервер работает на хосте
«127.0.0.1» и принимать соединения TCP / IP через порт 5432? в
/var/www/html/pg.php в строке 7
Проверки:
хост все все 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');
?>
Внутренние соединения работают (psql), внешние соединения также работают (pgAdmin на моем ноутбуке), но php соединение не работает …
Что не так? Что мне не хватает?
Вероятно, SELinux блокирует подключение к вашей базе данных.
Убедитесь, что вы установили правильный логический параметр, чтобы ваше веб-приложение могло взаимодействовать с базой данных:
sudo setsebool -P httpd_can_network_connect_db 1
Других решений пока нет …