
Rychlé vysvětlení chyby
Chyba “your php installation appears to be missing the mysql extension which is required by wordpress” nastává kdykoliv, kdy se WordPress není schopen domluvit s MySQL databází. Nejde však o problém s neplatným heslem, situace totiž nastává ještě před zahájením spojení.
WordPress totiž zjistí, že není na daném serveru není dostupné prostředí na to, aby mohl s jakoukoliv databází komunikovat. Tento problém může mít několik příčin, od chybějícího PHP balíčku v rámci instalace PHP na daném serveru až po nekompatibilní verze PHP a WordPressu. Nekompatibilita může být z obou stran, tedy jak příliš staré PHP, tak příliš starý WordPress.
Nedaří se vám problém vyřešit nebo se tím nechcete zabývat?
Dopřejte si WordPress care!
Řešení situace
Zjistíme verzi PHP a porovnáme kompatibilitu s naší WordPress instalací
Na svůj hosting skrze správce souborů, nebo FTP přístupu vytvoříme soubor s názvem info.php, jeho obsahem bude kód:
<?php
phpinfo();
?>
Následně v prohlížeči otevřeme stránku http://domena.tld/info.php. Otevře se nám stránka s informacemi o běžící PHP instanci.
Hned v hlavičce stránky pak vidíme verzi PHP:

Dle následující tabulky si můžeme ověřit, jestli naše verze PHP je kompatibilní s naší instalací WordPressu:
https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
PS: PHP je vhodné udržovat na podporované verzi i ze strany PHP vývojářů. Aktuální nejstarší podporované verze lze nalézt na https://www.php.net/supported-versions.php
Aktualizace WordPress
Pokud máem pro náš WordPress příliš nové PHP, je nejlepším řešením aktualizace WordPressu. Vzhledem k tomu, že nemáme přístup do administrace webu (protože web háže chybu), provedeme aktualizaci skrze FTP.
Provedeme zálohu celého webu. Na to můžeme použít nástroje poskytovatele hostingu, nebo stáhnout všechna data manuálně.
Stáhneme požadovanou verzi WordPress z webu https://wordpress.org/download/releases/ (stáhneme nejnovější, kterou podporuje naše verze PHP)

Rozbalíme archiv na počítači a otevřeme vzniklou složku a v ní složku wordpress

Přihlásíme se na FTP

Data ze složky nahrajeme do root složky našeho hostingu. Pokud se FTP klient dotáže na přepis dat, povolíme jej. Tímto nahráním totiž přepisujeme pouze data samotného WordPressu. Data uživatelů zůstanou beze změny


Po nahrání dat se přihlásíme do administrace webu a pokud budeme vyzvání, provedeme update databáze
Nedaří se vám problém vyřešit nebo se tím nechcete zabývat?
Dopřejte si WordPress care!
Kontrola prostředí
Pokud web hlásí stejnou chybu i po nasazení kompatibilní verze WordPressu a PHP, je vhodné projít si výstup dříve vytvořeného souboru info.php a zkontrolovat, že nastavení PHP plní všechny požadavky na balíčky uvedené na https://make.wordpress.org/hosting/handbook/server-environment/#php-extensions
Může se totiž stát, že i přímo PHP doplněk mysqli i v instalaci chybí, což je dalším možným důvodem této chyby.
To, jestli chybí zjistíme tak, že ověříme absenci této sekce v rámci výstupu souboru info.php:

Nedaří se vám problém vyřešit nebo se tím nechcete zabývat?
Dopřejte si WordPress care!
Pokročilá řešení
Doinstalace balíčku
Pokud v rámci kontroly prostředí zjistíme, že na serveru chybí balíček php mysqli (není vyhledatelné klíčové slovo mysqli na stránce info.php), můžeme jej nainstalovat. Pozor, toto řešení již vyžaduje přístup do serverové konzole a instalace balíčků do operačního systému.
Pro sdílený hosting
Pokud se Váš web nachází na službách sdílených hostingů, je třeba pro přidání php balíčku kontaktovat Vašeho poskytovatele hostingu. Pokud je Váš web na verzi PHP nižší než 8, zkuste je kontaktovat i s žádostí o upgrade na verzi 8.x.
Pro ubuntu/Debian
Instalaci PHP balíčků provedeme následující sadou příkazů:
Aktualizujeme seznam dostupný balíčků:
sudo apt-get update
Nainstalujeme pro wordpress potřebné extensions včetně mysql:
sudo apt-get install php-curl php-dom php-mbstring php-exif php-fileinfo php-igbinary php-imagick php-intl php-xml php-zip php-redis php-memcached php-opcache
Restartujeme apache/nginx
Pro apache:
sudo service apache2 restart
Pro Nginx:
sudo service nginx restart
Pro Centos
Aktualizujeme seznam dostupný balíčků:
sudo yum update
Nainstalujeme pro wordpress potřebné extensions včetně mysql:
sudo yum install php-curl php-dom php-mbstring php-exif php-fileinfo php-igbinary php-imagick php-intl php-xml php-zip php-redis php-memcached php-opcache
Restartujeme apache/nginx
Pro apache:
sudo apachectl -k restart
Pro Nginx:
sudo systemctl restart nginx
Aktualizace PHP
Aktualizace PHP záleží na Vámi nasazeném operačním systému. webovém serveru a jejich verzích.
Zde je například návod pro nejčastější OS, tedy Ubuntu:
https://php.watch/articles/php-8.3-install-upgrade-on-debian-ubuntu
Novější systémy, jak Ubuntu 20.04 nejsou pro PHP 8 podporované, mělo by však jít nainstalovat i na server ubuntu 16 a ubuntu 18. U těchto verzí však důrazně doporučujeme upgradovat operační systém na nejnovější LTS.
Aktualizace vždy doporučujeme na nejnovější dostupnou verzi. Zajistíte si tak nejlepší rychlost a zabezpečení.
