致命错误:调用未定义函数pg_connect()
我正在尝试连接到安装了PostgreSQL的数据库(远程服务器)。我的PHP代码正在尝试使用pg_connect()连接到数据库,但出现错误消息:-“致命错误:在第82行的/var/www/website/functions.php中调用未定义的函数pg_connect()”。
82行只是:
$db = pg_connect($conn_string);where $conn_string = "host=".$hostname." port=5432 dbname=".$dbname." user=".$db_user." password=".$db_password.""
(所有先前定义的变量)
我检查了很多论坛,建议的唯一解决方案是找到包含一行的php.ini文件:-extension = pgsql.so(对于UNIX)和extension =
php_pgsql.dll(对于Windows)。
应该声明此语句,而解决方案是取消注释。我已经尝试过了,但仍然没有改变这种情况。远程服务器的版本高于PostgreSQL
v9.0.4。然后,我在笔记本电脑上安装了PostgreSQL
v8.4.8,并使用MAMP在本地运行了该网站。起初,Apache因某种奇怪的原因而崩溃,我修复了该问题,但最终还是遇到了与以前相同的错误,即致命错误:调用未定义的函数pg_connect()…。
我还运行了phpinfo()
并显示php版本确实支持PostgreSQL模块。我花了整整一天的时间寻找解决方案,但未成功。这是我开发网站的第一个项目,而且我很机智。任何帮助将不胜感激。
phpinfo()在终端提供了很多东西,但是与PostgreSQL相关的列表如下:-
pdo_pgsqlPDO Driver for PostgreSQL => enabled
PostgreSQL(libpq) Version => 9.0.4
Module version => 1.0.2
Revision => $Id: pdo_pgsql.c 306939 2011-01-01 02:19:59Z felipe $
pgsql
PostgreSQL Support => enabled
PostgreSQL(libpq) Version => 9.0.4
Multibyte character support => enabled
SSL support => enabled
Active Persistent Links => 0
Active Links => 0
Directive => Local Value => Master Value
pgsql.allow_persistent => On => On
pgsql.auto_reset_persistent => Off => Off
pgsql.ignore_notice => Off => Off
pgsql.log_notice => Off => Off
pgsql.max_links => Unlimited => Unlimited
pgsql.max_persistent => Unlimited => Unlimited
自从我到目前为止阅读的每篇文章都提到了我所做的每一次编辑后,我都重新启动了MAMP。我相信这会重置Apache和php。
“扩展名”目录中存在“ pqsql.so”(在Windows中与UNIX等效,即“ php_pqsql.dll”)。我也将“
pqsql.so”文件复制粘贴到了Apache / bin目录中,但是没有任何改变。
我主要不是在命令行中运行php。我只是很想知道phpinfo()能给我什么与我在上面的回复中提到的pgsql相关的信息。
我仍在使用您提到的工具,一旦得到任何结果,我会尽快答复。
谢谢,H
回答:
您需要安装php-pgsql软件包或平台所需要的任何软件包。我不认为您是这样说的。
在Ubuntu和Debian上:
sudo apt-get install php5-pgsql
以上是 致命错误:调用未定义函数pg_connect() 的全部内容, 来源链接: utcz.com/qa/416924.html