我现在在CentOS / nginx / postgresql / php(php-fpm)上开发一个网站。
我有这样的数据库连接代码阻止:
$dbcon = pg_connect(
"host=localhost port=5432 dbname=shex_utf8 user=webmaster password=webmaster"
);
var_dump($dbcon);
当我在访问http://example.com/dbcon.php
我没有看到任何错误或警告显示。
但如果我打电话:
php < dbcon.php
它回来了:
类型的资源(5)(pgsql链接)
我将http服务器从nginx更改为httpd,问题仍然存在。
然后我停止php-fpm服务,然后运行spawn-fcgi,没有问题。
php-fpm有什么问题?如何配置 php-fpm 并解决问题?
答案 0 :(得分:2)
那是因为selinux设置。
通过以下方式解决:
setsebool -P httpd_can_network_connect_db 1