我不能解决这个问题。我在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我想知道为什么postgreSQL不能,为什么MySQL还可以呢?
以下是我的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“条目,请帮帮忙。
发布于 2009-09-06 05:13:26
在您的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中实现的。
发布于 2009-09-06 05:51:07
你还需要一条线
extension=php_pgsql.dll在PHP中使用Postgres。
https://stackoverflow.com/questions/1384900
复制相似问题