【发布时间】:2018-10-20 16:29:24
【问题描述】:
我正在尝试连接到仅支持 SSL 连接的 Heroku Postgres。 SSL 连接在其他工具(Postico)和编程环境(Node.js)上工作正常,但是从 PHP 连接时,我总是收到此错误:
sslmode value "require" invalid when SSL support is not compiled
我的本地环境是 OS X,所有软件包都安装了 homebrew 并支持 SSL。 pgsql 还具有基于 phpinfo() 输出的 SSL 支持:
SSL support => enabled
Libpq 和 Postgres 编译时支持 SSL:
-lpgcommon -lpgport -lssl -lcrypto -lz -lreadline -lm
PHP版本:7.2.5(也试过5.6、7.1分支) 本地 Postgres 和 libpq 版本:10.3
尝试了所有我可以但无法使此连接正常工作的解决方案。通过自制软件安装时,Postgres 支持为 PHP 7.2.5 开箱即用。不再有单独的 php-pgsql/php-pdo-pgsql 包。
【问题讨论】:
-
发现了这个和其他一些 SO 主题,但在我的情况下,SSL 支持已编译,看起来问题有点不同。来自 phpinfo(): "OpenSSL support => enabled"
-
然后收回标志:)
-
所以你试图从本地连接一个远程heroku PSQL?还有
php -i | grep -i SSL的输出是什么@ -
是的,就是这样。该命令的输出非常大,但这里有一些与 SSL 相关的设置:
SSL support => enabled OpenSSL support => enabled并且 PHP 是使用此标志构建的:'--with-openssl=/usr/local/opt/openssl'
标签: php postgresql ssl libpq