任何人都可以一步一步地帮助我,非常感谢你。
function wampserver (){
$host = "localhost";
$port = "5432";
$name = "IMSDB";
$user = "postgres";
$pass = "magahin";
$pg = pg_connect("host=$host port=$port dbname=$name user=$user password=$pass")
or die("Can't connect to database.");
}
答案 0 :(得分:0)
您没有在PHP设置中安装Postgres扩展程序。请参阅您的平台文档,了解如何安装它。
答案 1 :(得分:0)
你应该包含类pg_connect的文件,以便访问该函数并连接你的Db
答案 2 :(得分:0)
考虑pg_hba.conf中的第一条规则:
local all all peer
这意味着对于所有本地连接,Unix用户应该与db用户相同。显然,对于你的php代码并非如此,因此用户的失败对等身份验证失败....
第二条规则会让您的脚本连接,但会被忽略,因为第一条规则优先:
local all all trust
此规则表示允许所有本地连接,无需密码且不检查任何身份。
如果您没问题,只需删除第一条规则,然后重新加载postgresql服务即可使更改生效。
其他规则不应与问题相关,因为它们与TCP连接有关,并且根据错误消息,这不是您的脚本使用的方法,它是' s尝试通过默认的Unix域套接字连接。