3

我在 Windows 上使用 WAMP,它安装 PHP、Apache 和 MySQL。

我现在正在研究需要 PostgreSQL 的新东西。当前安装对我不起作用,因为我不断收到以下错误:

调用未定义的函数 pg_query()

总是

未定义函数

我已经为 windows 安装了 PostgreSQL 8.3.7-1,添加了php_pgsql.dllphp_pdo_pgsql.dll甚至libpq.dll,在 postgreSQL 的 PHP 页面上的注释说 Windows 用户需要从 PHP 5.2.6 开始

不过,我不断收到这些错误...

有人可以建议最好的行动方案吗?或者我应该卸载 apache 和其他所有东西,然后单独重新安装每个组件?

4

4 回答 4

3

xampp 不会“告诉”apache/php 使用哪个 php.ini。因此 php 使用其默认查找策略来查找 .ini 文件。如果您没有更改任何内容,这将是 apache 二进制文件所在目录 xampp/apache/bin/php.ini 中的那个。您是否编辑了此文件并删除了 extension=php_pgsql.dll 之前的分号?有疑问时问

echo 'php.ini: ', get_cfg_var('cfg_file_path');
您必须编辑哪个文件。
xampp 默认将 php 作为模块安装,您必须重新启动 apache 才能让 php 再次读取 php.ini。之后
echo extension_loaded('pgsql') ? 'yes':'no';
应该打印yes。如果它没有停止 apache 服务,打开一个命令 shell,进入你的 xampp 目录并输入
apache_start.bat
这会将 apache 作为控制台应用程序启动,您可以在此控制台中看到启动错误(而不是 Windows 的事件管理器)。如果缺少 dll,您将收到一个消息框。

于 2009-05-09T09:19:54.513 回答
1

您是否在 php ini 文件中启用它?

对 phpinfo() 的调用说为扩展安装了什么?

于 2009-05-09T02:23:10.130 回答
1

根据您在 Apache 的 error.log 中看到的错误类型,有关问题的答案可能会有所帮助。

于 2009-05-09T11:23:42.703 回答
0

我做了和你一样的事情并解决了这个问题。但我的问题是针对 xampp 的。可能你应该重新安装你的 wamp。

于 2013-12-30T12:38:25.737 回答