PHP没有在Windows上加载php_pgsql.dll

Ros*_*oss 33 php windows postgresql

PHP 5.2.8拒绝加载php_pgsql.dll,出现以下错误:

警告:PHP启动:无法加载动态库'D:\ PHP\ext\php_pgsql.dll' - 找不到指定的模块.

在第0行的未知中

.dll存在于PHP/ext /中.

以前有没有其他人在Windows上使用PHP这个问题?

小智 81

查看PHP PostgreSQL安装页面上的信息:http://us.php.net/manual/en/pgsql.installation.php

在使用Apache配置的Windows服务器上,将以下行添加到httpd.conf以加载libpq.dll可以节省大量时间:

LoadFile "C:/Program Files/PostgreSQL/8.4/bin/libpq.dll"
Run Code Online (Sandbox Code Playgroud)

请注意,您必须根据已安装的PostgreSQL的安装路径和版本更改文件夹.另请注意,不建议在生产环境的同一服务器上安装Apache和PostgreSQL.

这立即修复了我的设置.


小智 46

PHP 5.4.1也发生在我身上

在任何地方复制有问题的DLL都没有用,我没有在服务器上安装PostgreSQL,但也计划在不同的Postgres版本上使用PHP,所以我发现唯一有效的解决方案是在httpd.conf中输入一行像这样:

LoadFile "C:/Program Files/PostgreSQL/8.4/bin/libpq.dll"
Run Code Online (Sandbox Code Playgroud)

但是引用与PHP捆绑在一起的libpq.dll,如下所示:

LoadFile "C:/php/libpq.dll"
Run Code Online (Sandbox Code Playgroud)

之后,它对我很好.

  • 这节省了我在Win7 64bit上的一天,因为Program Files/PostreSQL中的libpq.dll无法加载. (9认同)

Mar*_*hio 6

对于那些愿意让他们的 PHP 安装只能访问 PostGres 服务器而不实际安装 PostGres 的人,您需要:

  • 在 PHP.INI 中启用 php_pgsql.dll(和 php_pdo_pgsql.dll,如果使用 PDO)扩展,
  • 确保 libpq.dll、libiconv-2.dll 和 libintl-8.dll 在路径中。这些是 php_pgsql.dll 依赖项。

这 3 个 DLL 可以在 PostGres 安装中找到。我只是将它们复制到 apache\bin 中,这样我就可以保留所有内容。这样做,apache 可以很好地启动 PHP 引擎,并支持 PostGres。