Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php连接到postgresql_Php_Postgresql - Fatal编程技术网

Php连接到postgresql

Php连接到postgresql,php,postgresql,Php,Postgresql,返回无法连接到PostgreSQL server:致命:没有主机的pg_hba.conf条目“::1…”, 我必须做什么 文件php.inimodule扩展名php\u pgsql.dll中的p.S.已启用,或者将帮助您确定问题的性质 看起来您正在尝试通过IPv6连接(因此::1),而主机的pg_hba.conf没有允许您以用户myuser身份从IPv6环回地址(::1)连接到数据库mypass 我怀疑服务器配置错误;要解决这个问题,请尝试将主机指定为127.0.0.1(IPv4环回地址),而不

返回
无法连接到PostgreSQL server:致命:没有主机的pg_hba.conf条目“::1…”,

我必须做什么

文件
php.ini
module
扩展名php\u pgsql.dll
中的p.S.已启用

,或者将帮助您确定问题的性质

看起来您正在尝试通过IPv6连接(因此
::1
),而主机的
pg_hba.conf
没有允许您以用户
myuser
身份从IPv6环回地址(
::1
)连接到数据库
mypass

我怀疑服务器配置错误;要解决这个问题,请尝试将主机指定为
127.0.0.1
(IPv4环回地址),而不是
localhost
,或者完全忽略
host=
,以使用unix域套接字(如果PHP支持)


您的语句“当使用mysql(在远程服务器上)作为主机值时,我们可以使用host=localhost right?”对于mysql和PostgreSQL来说都是完全没有意义的。如果是远程服务器,则根据定义,它不在本地主机上。我猜你可能想说服务器是远程的,因为它不是你正在使用的计算机,而是你正在运行的程序的本地,因为你正在远程服务器上运行程序(通过在远程服务器上编辑它,通过FTP上传程序文本,或者其他方式)

您的
pg_hba.conf
文件包含什么?我不知道,这是远程服务器。您如何使用
host=localhost
呢?当使用mysql(在远程服务器上)作为主机值时,我们可以使用
host=localhost
对吗?在postgresql中,这是不行的?如果是远程服务器,无论您使用的是什么数据库软件,都不能使用host=localhost。(除非您的服务器配置极为奇怪!)Localhost表示您正在运行脚本的服务器。
$dbconn = pg_connect("host=localhost   dbname=mydbname   user=myuser    password=mypass") or die(pg_last_error());