※ ChatGPTを利用し、要約された質問です(原文:phpからPostgreにconnectで失敗)
phpからPostgreにconnectで失敗
DBサーバーに対して、WEBサーバーからアクセスしています。
同じphpソースで同じDBにアクセスしているのに一方はconnectに成功して、一方は失敗します。
<前提>
インターネット上のDBサーバーにPostgreSqlがあります。
それとは別のローカルWEBサーバーのphpからPostgreSqlのデータを読んでいてこれは上手く行っています。
ローカルWEBサーバーのコピー環境をインターネット上に立てようとしていますが、これが上手く行きません。
<DBサーバー>
OS:CentOS7
dbms:PostgreSql
host:dbserver.net
port:5432
user:user1
password:password1
dbname:db1
設定ファイル
/var/lib/pgsql/data/pg_hba.conf
# PostgreSQL Client Authentication Configuration File
# TYPE DATABASE USER ADDRESS METHOD
host all user1 0.0.0.0/0 md5
設定ファイル
# /var/lib/pgsql/data/postgresql.conf
listen_addresses = '*'
port = 5432
<ローカルWEBサーバー>
host:test.local
OS:CentOS7
Server version: Apache/2.4.6 (CentOS)
Server built: Oct 19 2017 20:39:16
PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
<php中のコネクト部分>
<?PHP
// PostgreSQL 接続をオープンする
$dbconn = pg_connect("host=dbserver.net port=5432 user=user1 password=password1 dbname=db1");
:
:
:
<セットアップ中のWEBサーバー>
host:test.com
OS:CentOS7
Server version: Apache/2.4.6 (CentOS)
Server built: Oct 19 2017 20:39:16
PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
<セットアップ中のWEBサーバーでのエラー>
Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Permission denied Is the server running on host
同じ事をしているのに、どうして一方はconnectに失敗するのでしょうか?
お礼
SELinuxでした。 SELinuxを止めたら繋がりました。