在Windows上配置PHP和PostgreSQL

在Windows上配置PHP和PostgreSQL,php,postgresql,Php,Postgresql,我正在手动安装PHP、Apache和PostgreSQL PHP和Apache现在已连接,但PostgreSQL未连接到PHP 我使用phpinfo()进行测试 我还在php.ini中进行如下配置: extension=php_pgsql.dll extension=php_pdo_pgsql.dll 但为什么它不起作用 谢谢你为我工作: PHP扩展将查找您的 PostgreSQL安装。简单的修复方法是添加路径,而不是 将该文件包含到您的环境路径中 为我工作: PHP扩展将查找您的 Postg

我正在手动安装PHP、Apache和PostgreSQL

PHP和Apache现在已连接,但PostgreSQL未连接到PHP

我使用phpinfo()进行测试

我还在php.ini中进行如下配置:

extension=php_pgsql.dll
extension=php_pdo_pgsql.dll
但为什么它不起作用

谢谢你为我工作:

PHP扩展将查找您的 PostgreSQL安装。简单的修复方法是添加路径,而不是 将该文件包含到您的环境路径中

为我工作:

PHP扩展将查找您的 PostgreSQL安装。简单的修复方法是添加路径,而不是 将该文件包含到您的环境路径中

1) 安装PostgreSQL for Windows

2) 将PostgreSQL安装的bin文件夹添加到环境变量“PATH”中: C:\ProgramFiles\PostgreSQL\9.2\bin;(例如)安装PostgreSQL for Windows

2) 将PostgreSQL安装的bin文件夹添加到环境变量“PATH”中:
C:\ProgramFiles\PostgreSQL\9.2\bin;(例如)

假设您已安装PostgreSQL,并且WAMP安装在c:\WAMP上,则需要复制 c:\wamp\bin\php\php5.3.9\libpq.dll到c:\wamp\bin\apache\Apache2.2.11\bin

确保您还拥有以下文件 C:\wamp\bin\php\php5.3.9\ext\php\u pdo\u pgsql.dll和 C:\wamp\bin\php\php5.3.9\ext\php\u pgsql.dll

另外,请确保已通过WAMP菜单启用上述2个文件作为扩展名(单击任务栏上的WAMP图标、PHP、PHPExtensions,找到上述2个文件并“检查”它们)

请注意,php5.3.9和Apache2.2.11指的是我的特定PHP和Apache版本。 调整这些以适应您的安装


就这样

假设您已安装PostgreSQL,并且WAMP安装在c:\WAMP上,则需要复制 c:\wamp\bin\php\php5.3.9\libpq.dll到c:\wamp\bin\apache\Apache2.2.11\bin

确保您还拥有以下文件 C:\wamp\bin\php\php5.3.9\ext\php\u pdo\u pgsql.dll和 C:\wamp\bin\php\php5.3.9\ext\php\u pgsql.dll

另外,请确保已通过WAMP菜单启用上述2个文件作为扩展名(单击任务栏上的WAMP图标、PHP、PHPExtensions,找到上述2个文件并“检查”它们)

请注意,php5.3.9和Apache2.2.11指的是我的特定PHP和Apache版本。 调整这些以适应您的安装


就这样

我在Windows10上的PHP7和Apache2.4也有同样的问题。对我来说,解决方案是将以下行添加到
httpd.conf

LoadFile "C:/php7/libpq.dll"

这也意味着,如果您只想连接一个未在您的计算机上运行的PostgreSQL数据库,则无需安装PostgreSQL。

我在Windows 10上遇到了与PHP7和Apache 2.4相同的问题。对我来说,解决方案是将以下行添加到
httpd.conf

LoadFile "C:/php7/libpq.dll"

这也意味着,如果您只想连接一个未在您的计算机上运行的PostgreSQL数据库,则不需要安装PostgreSQL。

在我的例子中,有2个php.ini,我必须在这两个php.ini中取消对扩展pdo_pgsql的注释

  • 在php文件夹中
  • 在apache文件夹中

  • 在我的例子中有两个php.ini,我不得不在这两个php.ini中取消对扩展pdo_pgsql的注释

  • 在php文件夹中
  • 在apache文件夹中

  • 两者都在wamp文件夹中

    什么是“未连接到PHP”的意思?您在
    phpinfo()
    的输出中没有看到Postgres模块吗?您是否收到任何错误消息?是否重新启动了web服务器?我在phpinfo()中没有看到PostgreSQL;是的,我重申了web服务器“未连接到PHP”是什么意思?您在
    phpinfo()
    的输出中没有看到Postgres模块吗?您是否收到任何错误消息?是否重新启动了web服务器?我在phpinfo()中没有看到PostgreSQL;是的,我重申了网络服务器