【发布时间】:2015-03-01 09:43:04
【问题描述】:
我有一个在远程服务器上运行的 Postgres 9.1 数据库。我正在尝试帮助程序员在我的 hostgator 帐户上使用 php 设置远程发布到表。
我已修改我的 postgres 服务器上的 pg_hba.conf 文件,以允许使用密码从我的 hostgator 服务器的 IP 地址进行所有连接。
在 hostgator 上,我使用的是 linux 帐户并已修改 php.ini 文件以启用该行:
extension=php_pgsql.so
我也试过这条线:
extension=php_pgsql.dll
两者都有以下错误:
致命错误:在第 6 行调用 /home1/kipsoft/public_html/hfs_forms/connection.php 中未定义的函数 pg_connect()
为了为每个域启用 php.ini 文件,我确实按照说明修改了 .htaccess 文件:
# Use PHP55 as default
# Use PHP5 as default
AddHandler application/x-httpd-php5 .php
# BEGIN custom php.ini PHP55
<IfModule mod_suphp.c>
suPHP_ConfigPath /home1/kipsoft
</IfModule>
# END custom php.ini
连接脚本如下所示:
<?php
session_start();
//$link = mysqli_connect('localhost', 'root', '', '209.239.000.001');
//$link = mysqli_connect('localhost', 'myuser', 'mypassword', 'myforms');
$db_connection = pg_connect("host=209.239.000.001 port=5432 dbname=myforms user=myuser password=mypassword");
/*if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}*/
ini_set("memory_limit", "192M");
?>
不幸的是,我对 php 一无所知,而且我认为程序员没有使用 postgres 的经验。任何帮助将不胜感激。
【问题讨论】:
-
phpinfo 显示什么?您是否在网络服务器上安装了 postgresql 扩展? php.net/manual/en/function.phpinfo.php
-
你的linux机器上是否安装了php5-pgsql?您使用的是哪个发行版?
-
我在运行 linux 的 hostgator 服务器上安装了 php 5.5。我将运行 phpinfo 并查看它的内容。
-
phpinfo 显示 PHP 版本 5.4.38。我需要检查一下。而且我看不到任何关于 pgsql 的信息。
-
好的。我能够将 php 升级到 PHP 版本 5.5.22。我将尝试在 php.ini 文件中启用 pg。
标签: php .htaccess postgresql