【问题标题】:PostgreSQL trouble on windows PHPWindows PHP上的PostgreSQL问题
【发布时间】:2010-10-24 22:57:51
【问题描述】:

我在 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 和其他所有东西,然后单独重新安装每个组件?

【问题讨论】:

  • 对 phpinfo() 的调用说明了什么?

标签: php postgresql wamp


【解决方案1】:

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,您将收到一个消息框。

【讨论】:

  • 分号,是的,我去掉了。
【解决方案2】:

你在php ini文件中启用了吗?

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

【讨论】:

  • phpinfo 页面在 postegre 上没有显示任何内容。然而,当我检查我的 php.ini 文件时,它已启用...
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2011-06-22
      • 2012-02-06
      • 2011-04-10
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多