我试图使用pg_connect
访问另一台服务器上的postgres,
我确实打开了远程访问,我可以使用bash
连接到我的postgres服务器!我确实在config中托管了所有client_ip / 32信任但是当我试图使用pg_connect
时,我得到错误500!
pgsql
也已安装,我已使用function_exists('pg_connect')
进行了检查,然后我返回true!
我的代码是:
$dbconn = pg_connect("host=remote_IP port=5432 dbname=myDB user=postgres") or die("Could not connect");
我也试过这个并再次致命错误500
$dbconn = pg_connect("host=remote_IP port=5432 dbname=myDB
user=another_super_user_i_made password=user_password") or die("Could not connect");
有什么问题?
答案 0 :(得分:0)
当您能够从网络上的一台计算机连接到服务器,但从另一台计算机获得连接超时问题时,通常是由于以下几种情况之一。
1)DNS。您正在测试的计算机("远程访问"当您调用它时)能够解析DNS名称,而运行PHP代码的Web服务器则不能。您可以使用实际的IP地址而不是DNS名称来测试它。
2)连通性。不同的机器在网络中以不同的方式连接。如果您能够通过"远程访问"来获取IP。机器,但Web服务器连接到它时遇到问题("连接超时"),尝试直接连接到该Web服务器(使用"远程访问"如SSH),看看你是否可以从那里手动连接。
如果它不是网络相关问题,则可能是您的默认PG超时问题。尝试使用连接字符串手动设置它们。具体来说," connect_timeout"选项,像这样:
$d=pg_connect('host=example.com user=pgsql dbname=postgres connect_timeout=5');
答案 1 :(得分:0)
主机阻塞问题! 我的客户端托管未启用远程访问数据库! 你应该咨询你的托管,他们可以追踪你的问题