postgresql — использование pg_connect, возвращающего false на php-fpm / CentOS6

Сейчас я занимаюсь разработкой сайта на 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-скрипта: SUCCESS

Но если я позвоню:

php < dbcon.php

Это возвращалось:

ресурс (5) типа (ссылка pgsql)

Использование httpd: FAIL

Я изменил http-сервер с nginx на httpd, проблема все еще существует.

Использование spawn-fcgi: SUCCESS

А затем я остановил службу php-fpm и вместо этого запустил spawn-fcgi, проблем не было.


Вопрос:

Что случилось с php-fpm? Как я могу настроить PHP-FPM и обойти проблему?

1

Решение

Это было из-за настройки selinux.

Работал вокруг:

setsebool -P httpd_can_network_connect_db 1
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]