【问题标题】:Using postgresql with php under windows/xamppwindows/xampp下使用postgresql和php
【发布时间】:2013-06-22 14:33:33
【问题描述】:

我正在尝试将postgres 与 PHP 一起使用,但 Apache 无法加载扩展。

我正在使用:

带有 xampp 的 Windows 7 (64bit),我有 php 版本 5.4.7 我已经设置好postgres,其他应用可以访问数据库了。

当我在 php.ini 中取消注释以下行时

extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

我在 php-error-log 中发现了一些错误:

[22-Jun-2013 13:15:22 UTC] PHP 警告:PHP 启动:无法加载动态库 'C:\xampp\php\ext\php_pdo_pgsql.dll' - Das angegebene Modul wurde nicht gefunden。 在第 0 行的未知中

但是路径是正确的,文件也在那里。

经过一番研究,我在我的 http.conf 中添加了这一行:

LoadFile "C:/Program Files/PostgreSQL/9.2/bin/libpq.dll"

但是无论我把这条线放在哪里,apache-service 都无法再启动了。所以我删除了这条线。

我还尝试将这 2 个路径添加到我的 PATH-Variable:

C:\Program Files\PostgreSQL\9.2\bin
C:\xampp\php\ext

现在错误变成了

在第 0 行的未知中

一切都在同一台本地机器上运行。并且使用 Linux / 单独的服务器不是替代方案。

我的phpinfo() 没有显示任何与 postgres 相关的内容。

我希望有人知道如何解决这个问题,谷歌根本没有帮助我。

【问题讨论】:

  • @Denis 如果是权限问题,我怎样才能知道?
  • "'C:\xampp\php\ext\php_pdo_pgsql.dll' - Das angegebene Modul wurde nicht gefunden。" -- 如果文件确实存在,但无论如何都报告为未找到,这可能意味着它不可读。在 Windows 资源管理器中查看文件的权限,并将其与类似 dll 文件的权限进行比较。
  • 与该目录下其他文件的权限相同

标签: php windows postgresql


【解决方案1】:

好吧,我终于解决了这个问题:

我重新安装了 xampp 和 postgres,但使用了 postgres 32 位版本(64 位版本也应该可以,但我想确保)

然后我再次启用php.ini 中的扩展:

extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll

我得到了文件没有被再次找到的错误(php_error_log)。

读完后:

http://postgresql.1045698.n5.nabble.com/pgAgent-installation-fails-LIBPQ-DLL-is-missing-PostgreSQL-9-0-2-x64-2008-Windows-Server-x64-td3351434.html

我从 postgres 8.4 下载了libpq.dll 并将其复制到 apache/bin 和 postgres/lib 中(从那里替换了 dll)。

在我的 Path-Variable 中仍然有 C:\xampp\php\ext\,但如果没有该部分,它也应该可以工作。

我在这个问题上工作了 3 天,希望它能帮助其他人更快地启动和运行。

【讨论】:

  • 我将它安装在一台新 PC 上,它也适用于 Windows 8.1 和 Postgres 9.3。不需要更改路径变量。
  • 你能否让它与 postgre 64 位一起工作?
  • replaced the DLL from there - 请解释一下,你是什么意思?您用下载的 8.4 dll 替换了 9.x dll 吗?
  • 是的,我用 8.4-dll 替换了 9.x-dll。而且我还没有尝试过 64 位安装。
【解决方案2】:

另一种解决方案是复制

c:/xampp/php/libpq.dll

c:/xampp/apache/bin/

Source

【讨论】:

    猜你喜欢
    • 2017-04-23
    • 2019-07-26
    • 2012-05-31
    • 2017-05-11
    • 1970-01-01
    • 2012-06-26
    • 2015-04-09
    • 2015-05-20
    • 2020-05-17
    相关资源
    最近更新 更多