1

我现在正在 CentOS/nginx/postgresql/php(php-fpm) 上开发一个站点。

问题:

我有这样一个数据库连接代码,它会阻塞:

$dbcon = pg_connect(
    "host=localhost port=5432 dbname=shex_utf8 user=webmaster password=webmaster"
);
var_dump($dbcon);

当我在访问时运行该代码时,它只返回 falsehttp://example.com/dbcon.php

我没有看到任何错误或警告显示。

直接执行php脚本:SUCCESS

但如果我打电话:

php < dbcon.php

它正在返回:

类型的资源(5)(pgsql链接)

使用 httpd:失败

我把http服务器从nginx改成httpd,问题依旧。

使用 spawn-fcgi:成功

然后我停止 php-fpm 服务,然后运行 ​​spawn-fcgi,没有问题。


问题:

php-fpm 有什么问题?如何配置php-fpm并解决该问题?

4

1 回答 1

2

那是因为 selinux 设置。

通过以下方式解决:

setsebool -P httpd_can_network_connect_db 1
于 2015-12-03T14:04:23.703 回答