【问题标题】:Enable SSL support for pgsql为 pgsql 启用 SSL 支持
【发布时间】:2013-07-24 14:40:19
【问题描述】:

phpinfo()pgsql 部分下,SSL support 当前禁用

如何启用它?

【问题讨论】:

标签: php postgresql ssl wampserver


【解决方案1】:

这真的是关于 Pgsql 的 SSL 支持。

库 libpq 可能未使用 SSL 支持进行编译。 您是否自己构建了 pgsql 和/或 libpg 的软件包? 如果是这样,你可以通过编译选项 --with-openssl

来启用它

如果你没有自己编译,尝试找一个内置SSL的包。

【讨论】:

    【解决方案2】:

    首先,您需要确定“您当前的 PostgreSQL 扩展是如何编译的?” (被编译成 主 PHP 可执行文件或可加载扩展)。

    确定当前 PGSQL 扩展的编译:

    1. 查看 php.ini 文件的内容
    2. 找到类似“extension=php_pgsql.so”的行(应该是 php_pgsql.dylib)

    如果你找到这样的行,那么你的扩展是一个可加载模块。如果它前面有一个分号,那么你的扩展是在主PHP 可执行文件中。

    如果它是一个可加载的扩展,那么您可以在网络上搜索,希望有人以前为特定操作系统编译了带有 SSL 支持的 PGSQL 扩展。如果您的扩展在 PHP 主可执行文件中,请找到启用了 SSL 的 OS 发行版。

    如果您仍然无法解决您的问题,那么您需要针对已编译并支持 SSL 的 libpq 版本构建/编译 PostgreSQL 扩展。

    希望对您有所帮助!

    【讨论】:

      【解决方案3】:

      在您的一个数据库(例如“postgres”管理数据库)中,发出show ssl;。如果它返回“off”,则编辑您的 postgresql.conf 并将“ssl = off”行更改为“ssl = on”并重新加载您的配置(以超级用户身份发出“select pg_reload_conf()”)。

      有关 ssl 支持的更多详细信息可以在文档中找到:http://www.postgresql.org/docs/9.2/static/ssl-tcp.html

      【讨论】:

      • 这是 PHP 中对 pgsql 扩展的 SSL 支持,而不是服务器/数据库支持。
      • 在尝试构建在它之上的系统之前,确保底层数据库已启用它仍然很好。 (如果show ssl; 为假,还可以检查hostssl 是否在pg_hba.conf 文件中使用。只是说。)
      猜你喜欢
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 2018-08-23
      相关资源
      最近更新 更多