当我尝试使用PHP连接到Postgresql服务器时,我收到了一个错误,类似于下面的错误:无法连接到PostgreSQL服务器:SCRAM身份验证要求libpq版本10或更高版本我使用EnterpriseDb,在我的代码中是pg_connect();,我不知道出了什么问题。
pg_connect();
8fq7wneg1#
--- windows 7 64 / postgresql 13 ---在我的例子中:我确实从**https://www.exefiles.com/en/dll/libpq-dll/下载了libpq.dll,然后我在php目录替换了旧的libpq.dll**,最新下载的,它确实工作了!
cld4siwp2#
当我在php.ini中只启用了一个扩展extension=php_pgsql.dll时,我得到了这个错误,我再次尝试取消注解extension=php_pdo_pgsql.dll,它对我来说工作得很好
php.ini
extension=php_pgsql.dll
extension=php_pdo_pgsql.dll
pengsaosao3#
您的应用程序使用链接到PostgreSQL C库libpq 9.6或更低版本的APIPostgres v10中引入了SCRAM验证。请更新应用程序端的libpq,然后重试。如果您不需要scram-sha-256分析,您可以在Postgres SQL上切换回md5:
scram-sha-256
md5
password_encryption=md5
ALTER USER postgres WITH PASSWORD 'old_password'
3条答案
按热度按时间8fq7wneg1#
--- windows 7 64 / postgresql 13 ---在我的例子中:我确实从**https://www.exefiles.com/en/dll/libpq-dll/下载了libpq.dll,然后我在php目录替换了旧的libpq.dll**,最新下载的,它确实工作了!
cld4siwp2#
当我在
php.ini
中只启用了一个扩展extension=php_pgsql.dll
时,我得到了这个错误,我再次尝试取消注解extension=php_pdo_pgsql.dll
,它对我来说工作得很好pengsaosao3#
您的应用程序使用链接到PostgreSQL C库libpq 9.6或更低版本的API
Postgres v10中引入了SCRAM验证。请更新应用程序端的libpq,然后重试。
如果您不需要
scram-sha-256
分析,您可以在Postgres SQL上切换回md5
:password_encryption=md5
,并在pg_hba.conf中将身份验证格式更改为md5