php和postgreSQL安装

时间:2009-09-06 05:04:33

标签: php postgresql

我无法解决这个问题。我在我的XP上安装了“php-5.2.10-win32-installer.msi”和“apache_2.2.11-win32-x86-no_ssl.msi”和“mysql-4.1.22-win32”。当我尝试使用phpinfo打印输出数据库支持时,我可以看到mysql存在,但不是pgsql。我检查了我的php.ini,有这样的条目:

[PHP_MYSQL]
extension=php_mysql.dll
[PHP_PGSQL]
extension=php_pgsql.dll

我想知道为什么MySQL没问题,但为什么不用postgreSQL?

以下是我的PHP脚本。

error_reporting(E_ALL | E_STRICT);

echo "connecting...<br>";        
echo 'php.ini: ', get_cfg_var('cfg_file_path')," <br/> ";
echo extension_loaded('pgsql') ? 'yes':'no'," <br/> ";
$pg = pg_connect("host=localhost user=postgres
        password=xx dbname=xx")
or die("Can't connect to database.");

echo "connected<br>";        
?>

结果是:

connecting... php.ini: C:\Program Files\PHP\php.ini no 

Fatal error: Call to undefined function pg_connect() in E:\WebSite\index.php on line 19

我检查了我的php.ini,它上面有我提到的“dll”条目,请帮忙。

2 个答案:

答案 0 :(得分:1)

在php.ini文件中更改:

;extension=php_pdo_pgsql.dll

extension=php_pdo_pgsql.dll

并重启Apache。这会添加Postgres扩展名(默认情况下已注释掉)。

还要确保编辑正确的php.ini文件。我不熟悉你正在使用的发行版,但我看到一些有2个甚至3个php.ini文件浮动(例如一个用于Apache,一个用于CLI,一个用于我不知道是什么)。

在XAMPP 1.7.2中,这是\xampp\php\php.ini

答案 1 :(得分:0)

您还需要一行

 extension=php_pgsql.dll
在您的配置中

在PHP中使用Postgres。