Я сейчас разрабатываю сайт на CentOS/nginx/postgresql/php (php-fpm).
И у меня есть такой код подключения к базе данных, который блокирует:
$dbcon = pg_connect(
"host=localhost port=5432 dbname=shex_utf8 user=webmaster password=webmaster"
);
var_dump($dbcon);
Он возвращает только false, когда я запускаю этот код при посещении http://example.com/dbcon.php
Я не видел никаких ошибок или предупреждений.
Но если я позвоню:
php < dbcon.php
Он возвращался:
ресурс (5) типа (ссылка pgsql)
Я изменил http-сервер от nginx на httpd, проблема все еще существует.
И затем я останавливаю службу php-fpm и запускаю spawn-fcgi, но проблем не было.
Что случилось с php-fpm? Как настроить php-fpm и решить проблему?
Это было из-за настройки selinux.
Работал:
setsebool -P httpd_can_network_connect_db 1