file SCRAM authentication requires libpq version 10 or above

  • Roman Onderka (Aplicator)
  • Avatar uživatele Roman Onderka (Aplicator) Autor tématu
  • Offline
  • Začátečník
  • Začátečník
Více
17. čec 2020 06:10 - 17. čec 2020 06:12 #501 od Roman Onderka (Aplicator)
SCRAM authentication requires libpq version 10 or above vytvořil uživatel Roman Onderka (Aplicator)
Při volání funkce pg_connect se vyskytla tato chyba:
Fatal error: Uncaught exception 'ErrorException' with message 'pg_connect(): Unable to connect to PostgreSQL server: SCRAM authentication requires libpq version 10 or above'

V tomto případě je ideální si sehnat novější(nebo i starší) knihovnu kompilovanou pro maximálně podobný OS, která umi scram-sha-256. O mě se jednalo o operační systém CentOS a stáhl jsme ji zde:
centos.pkgs.org/7/postgresql-12-x86_64/l...hel7.x86_64.rpm.html

Přejdu do adresáře:
cd /usr/lib64/
ls -lah | grep libpq
lrwxrwxrwx. 1 root root 13 Jul 16 12:49 libpq.so.5 -> libpq.so.5.5
-rwxr-xr-x. 1 root root 193K Feb 4 17:34 libpq.so.5.5

Nakopíruji knihovnu (stáhnutou z balíku ve výše uvedeném odkaze), kterou jsem si uložil do /tmp:
cp /tmp/libpq.so.5.12 .
List souboru (link, stará a nová knihovna):
ls -lah | grep libpq
lrwxrwxrwx. 1 root root 13 Jul 16 12:49 libpq.so.5 -> libpq.so.5.5
-rwxr-xr-x. 1 root root 1.3M Jul 16 12:48 libpq.so.5.12
-rwxr-xr-x. 1 root root 193K Feb 4 17:34 libpq.so.5.5

Zde vidím původní knihovnu libpq.so.5.5 a na ní vytvořený link libpq.so.5 -> libpq.so.5.5 a nově nahranou knihovnu libpq.so.5.12.

Smažu link na starou knihovnu 5.5:
rm libpq.so.5
Vytvořím link na novou knihovnu:
ln -s libpq.so.5.12 libpq.so.5
Nastavím práva pro knihovnu 5.12 (podle 5.5):
chmod o+x libpq.so.5.12
chmod g+x libpq.so.5.12
chmod u+x libpq.so.5.12
Vylistuji si výsledek:
ls -lah | grep libpq
lrwxrwxrwx. 1 root root 13 Jul 16 12:49 libpq.so.5 -> libpq.so.5.12
-rwxr-xr-x. 1 root root 1.3M Jul 16 12:48 libpq.so.5.12
-rwxr-xr-x. 1 root root 193K Feb 4 17:34 libpq.so.5.5

Mám vytvořený link z libpq.so.5 na novou knihovnu libpq.so.5.12

Provedeme restart Apache
apachectl restart
Poznamka k phpinfo:
Knihovna po zobrazení pomocí phpinfo(); má sice nižší verzi (původně 5.3), ale obsahuje moznost pro PHP funkci pg_connect provádět connect do databáze Postgres za použití šifrování scram-sha-256

Vystup z phpinfo:
PostgreSQL(libpq) Version 9.2.24

Použitá knihovna:
Tato příloha je pro hosty skrytá.
Prosím přihlašte se nebo se registrujte pro její zobrazení.

Tato zpráva obsahuje přiložené soubory.
Prosím, přihlašte se nebo se zaregistruje, pro jejich zobrazení.

Poslední změna: 17. čec 2020 06:12 uživatelem Roman Onderka (Aplicator). Důvod: Vložení knihovny

Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.

Přihlášení