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

致命错误:调用第18行C:\wamp\www\php\function.php中未定义的函数pg_connect(),php,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

谁能一步一步地帮我吗?非常感谢

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

您的PHP设置中没有安装Postgres扩展。请参阅您的平台文档,了解如何安装它。

您应该将文件包含在pg_connect类中,以便访问该功能并连接数据库。

请考虑pg_hba.conf中的第一条规则:

local all all peer
这意味着对于所有本地连接,Unix用户应该与db用户相同。显然,php代码并非如此,因此用户的对等身份验证失败

第二条规则将允许您的脚本连接,但由于第一条规则优先,因此被忽略:

local all all trust
此规则意味着允许所有本地连接,而无需密码和检查任何身份

如果您同意,只需删除第一条规则,然后重新加载postgresql服务,即可使更改生效


其他规则不应该与问题相关,因为它们与TCP连接相关,并且根据错误消息,这不是脚本使用的方法,它正试图通过默认的Unix域套接字进行连接。

我无法连接到数据库可能重复
pg_connect()
是php内置函数,因此无需在此处包含任何内容!我要添加的postgres扩展名是什么?请回复我们来StackOverflow。我们非常愿意提供帮助,但你也必须自己付出一些努力。你试过什么?你哪里出错了?你看过文件了吗?你在网上搜索过你的问题吗?