2

我下载并安装了 Stackbuilder 附带的 PostgreSQL 9.2.3。

我使用 PostgreSQL Stackbuilder 来安装 Apache (2.2.22) & PHP (5.4.5)。

现在我正在尝试使用 PDO 连接到数据库,但出现driver not found错误。

我在我的 php.ini 文件中取消了extension=php_pgsql.dll&的注释。extension=php_pdo_pgsql.dll

我的 phpinfo(); 功能显示它们已启用。 在此处输入图像描述

我注意到的主要事情是在我的php\目录中没有包含这些文件的ext\目录。我会假设这些文件会自动安装到php\子目录中。

这些扩展存储在哪里;我是否需要为 php 指定一个绝对路径才能找到它们?

更新: 所以我进入 php.ini 并打开了启动错误。当我启动命令行 php.exe 时,我收到错误消息,指出找不到 php_pgsql.dll 和 php_pdo_pgsql.dll。

在此处输入图像描述 看起来他们正试图在我没有的 D: 驱动器上引用它们。我将所有内容都安装到 E: 驱动器上的同一目录中。我在任何地方都找不到扩展名(php 也找不到)。

4

2 回答 2

6

在 Wamp(Windows)中...

复制C:\wamp\bin\php\php5.x.xx\libpq.dll

粘贴C:\Windows\System32\

于 2014-09-08T20:27:49.250 回答
1

在 Wamp 上,有 2 个 php.ini 文件,你必须检查 Postgresql 扩展是否都在这两个文件上!延长线是

extension=php_pdo_pgsql.dll

所以检查

C:\wamp\bin\apache\apache2.4.9\bin\php.ini

还要检查

C:\wamp\apache\apache2.4.9\bin\php.ini

添加扩展行后,重新启动 Apache 即可。

于 2016-02-08T13:41:55.717 回答