【发布时间】: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