致命错误:在第18行的C:\ wamp \ www \ php \ function.php中调用未定义的函数pg_connect()

时间:2015-02-21 10:47:04

标签: php

任何人都可以一步一步地帮助我,非常感谢你。

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.");
}

3 个答案:

答案 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域套接字连接。