Řešení problémů s nekompatibilitou WordPress pluginů po aktualizaci na PHP 8.x zahrnuje kroky jako zpřístupnění chybových hlášení, zálohování, testování pluginů jednotlivě, aktualizaci nebo výměnu nekompatibilního pluginu a v případě potřeby dočasný návrat k předchozí verzi PHP. Při výskytu bílé obrazovky, kritických chyb, chyby 500, fatálních chyb, upozornění na zastaralé funkce nebo nemožnosti přístupu do administračního rozhraní je nejbezpečnější místo pro testování staging prostředí, kde můžete prověřit chybové logy a změny aplikovat kontrolovaně, aniž byste ovlivnili živý web.
PHP 8.x přináší WordPress stránkám výrazné výkonnostní a bezpečnostní výhody, zároveň však odhaluje nekompatibility starších témat a pluginů, které nebyly napsány podle moderních standardů. Zatímco některé chyby v PHP 7.4 a starších verzích byly pouze upozorněními, v PHP 8.x často vedou k fatálním chybám. Aktualizace PHP proto není jen změnou verze, ale také kontrolou kvality vašeho WordPress ekosystému.
V tomto průvodci jsme pro čtenáře blogu Hostragons připravili praktický návod založený na nejčastějších scénářích z reálného provozu. Cílem není jen opětovné spuštění webu, ale nastavení udržitelné údržby, která zabrání opakování stejných problémů při dalších aktualizacích PHP, WordPressu či pluginů. Klíčové je zvolit vhodný WordPress hosting, umět spravovat verze PHP a pravidelně zálohovat data. Pomoci mohou také zdroje jako WordPress hostingové balíčky a Služby web hostingu.
Proč vznikají nekompatibility WordPress pluginů po přechodu na PHP 8.x?
PHP verze 8.0, 8.1, 8.2 a 8.3 jsou výrazně přísnější z hlediska typové kontroly, zachytávání chyb, odstraňování zastaralých funkcí a optimalizace výkonu. I když je jádro WordPressu neustále aktualizováno pro kompatibilitu s moderními verzemi PHP, pluginy a motivy se neaktualizují všude stejně rychle. Problémy proto často vznikají u třetích stran, které nejsou dlouhodobě udržovány nebo jsou napsány podle zastaralých standardů.
Například plugin, který na PHP 7.4 pouze vyhodí varování kvůli nesprávnému pořadí parametrů, může na PHP 8.1 způsobit fatální chybu. Stejně tak použití null hodnot, které bylo dříve tolerováno, může v PHP 8.x vést k TypeError. Nejvíce jsou touto změnou postiženy pluginy pro WooCommerce platby, formuláře, page buildery, bezpečnostní pluginy a starší pluginy pracující s krátkými kódy.
Nejčastější příčiny nekompatibility jsou:
- Plugin nebyl aktualizován déle než 12 měsíců a není aktivně udržován.
- Na stránce pluginu ve WordPress repozitáři není uvedena kompatibilita s PHP 8.x.
- Téma a plugin používají stejné funkce rozdílným způsobem.
- Vlastní kód v souboru functions.php používá zastaralou syntaxi PHP.
- Na serveru chybí potřebné PHP rozšíření jako ionCube, mbstring nebo imagick.
- Staré nastavení cache, firewallu nebo optimalizačních pluginů je v konfliktu s novým prostředím.
Rychlý orientační přehled podle příznaků
Následující tabulka vám pomůže rychle identifikovat běžné chyby pluginů po aktualizaci na PHP 8.x. Slouží jako první vodítko, konečná diagnóza by měla vždy vycházet z analýzy chybových logů.
| Příznak | Možná příčina | První krok |
|---|---|---|
| Bílá obrazovka nebo kritická chyba | Plugin nebo funkce motivu způsobující fatální chybu | Zapněte debug mód, dočasně přejmenujte složku pluginů |
| Chyba HTTP 500 | PHP výjimka, nedostatek paměti nebo konflikt v .htaccess | Zkontrolujte chybové logy, ověřte hodnotu memory_limit |
| Nelze otevřít administrační rozhraní | Konflikt bezpečnostního, cache nebo page builder pluginu | Deaktivujte pluginy přes FTP změnou názvu složky plugins |
| Upozornění na zastaralé funkce (deprecated) | Používání starých funkcí | Aktualizujte plugin, nevykazujte upozornění návštěvníkům |
| Nefunkční platby nebo formuláře | Chybná API integrace nebo typová nekompatibilita | Zkontrolujte logy pluginu a poznámky k aktuální verzi |
| Změna rozložení stránky | Konflikt motivu, builderu nebo optimalizačního pluginu | Vyčistěte cache, vypněte slučování CSS/JS |
Bezpečná příprava před řešením problému
1. Proveďte kompletní zálohu
Základní pravidlo zní: nikdy nezasahujte bez zálohy. Kompletní záloha by měla zahrnovat soubory webu, databázi, adresář wp-content, složku uploads a soubor .htaccess. U e-shopů je důležité zaznamenat čas zálohy, protože objednávky, skladové zásoby a zákaznická data se mohou měnit každou minutou. Pokud spravujete web s uživatelskými účty nebo WooCommerce, je vhodné během řešení problému aktivovat dočasný údržbový režim, aby nedocházelo k nechtěným změnám.
Kvalitní hostingové panely nabízejí automatické zálohování jedním kliknutím, plánované zálohy a snadné obnovení. Tyto funkce pomohou ušetřit hodiny práce v případě kritických chyb. Více o zálohování najdete v Průvodce zálohováním webové stránky a v rámci bezpečného hostingu v Hostragons řešení hostingu.
2. Používejte staging prostředí místo živého webu
Testování kompatibility s PHP 8.x by mělo probíhat výhradně ve staging prostředí. To je kopie vašeho živého webu, kde můžete bezpečně zkoušet nové verze PHP, aktualizace pluginů a ověřovat funkčnost plateb, formulářů, uživatelských účtů či vyhledávání bez rizika přerušení provozu. Přímo na živém webu deaktivovat pluginy může narušit nákupní či kontaktní procesy návštěvníků.
Vytvořte si jednoduchý testovací scénář: ověřte hlavní stránku, stránky kategorií, detail produktu nebo příspěvku, košík, platební stránku, kontaktní formulář, přihlášení uživatele a administrační sekci. Na webech s vysokou návštěvností provádějte tyto testy v době nižšího provozu, čímž minimalizujete možný dopad na uživatele.
Krok za krokem: řešení chyb pluginů WordPress po aktualizaci na PHP 8.x
1. Aktivujte WordPress debug mód
Hledání chyby naslepo je ztráta času. Nejprve ji zobrazte. V souboru wp-config.php dočasně povolte ladicí režim. Na živém webu je bezpečnější chyby nezobrazovat návštěvníkům, ale zapisovat je do logu. Princip je jednoduchý: uživatelé by neměli vidět chyby, vy ale musíte vědět, kde a proč k nim došlo.
Doporučené nastavení je nastavit WP_DEBUG na true, WP_DEBUG_LOG na true a WP_DEBUG_DISPLAY na false. Tím se chyby zapíší do souboru wp-content/debug.log, kde najdete fatální chyby, varování či upozornění na zastaralé funkce. Po dokončení řešení nezapomeňte debug režim opět vypnout, protože dlouhodobě zapnutý debug může zabírat zbytečně místo na disku a představovat bezpečnostní riziko.
2. Najděte v logu název problematického pluginu
Ve chybovém logu obvykle vidíte cestu k pluginu, který chybu způsobuje. Například pokud se v řádku s chybou objeví cesta wp-content/plugins/stary-formular/includes/class-handler.php, první podezřelý je právě tento plugin. Časté chyby po přechodu na PHP 8.x jsou Uncaught TypeError, volání neexistující funkce, pokus o čtení vlastnosti z null nebo dynamické přidání vlastnosti.
Pokud je v logu více chyb, zaměřte se na nejvyšší fatální chybu, protože ostatní jsou často jejím důsledkem. Také zkontrolujte čas vzniku chyby – pokud začala ihned po aktualizaci PHP, jde o silný důkaz nekompatibility.
3. Pluginy postupně deaktivujte a testujte
Pokud máte přístup do administračního rozhraní, deaktivujte všechny pluginy a poté je aktivujte jeden po druhém. Po každé aktivaci otestujte funkčnost webu i adminu. Jakmile se chyba znovu objeví, máte viníka.
Nemáte-li přístup do administrace, přejmenujte přes FTP složku wp-content/plugins na plugins-disabled, čímž všechny pluginy deaktivujete najednou. Poté vytvořte zpět složku plugins a postupně přejmenováním jednotlivých složek pluginů je po jednom aktivujte a testujte. Tento způsob je velmi efektivní při řešení bílé obrazovky nebo kritických chyb.
4. Aktualizujte WordPress, motiv a pluginy
Většina nekompatibilit zmizí s aktuálními verzemi. Při aktualizaci však dodržujte správný pořádek: nejprve záloha, poté aktualizace jádra WordPressu, motivu a nakonec pluginů. Pokud aktualizujete mnoho pluginů najednou, rozdělte je do skupin podle důležitosti – například nejprve bezpečnostní a SEO pluginy, pak formuláře a cache, nakonec platební a uživatelské pluginy.
Na stránce pluginu ve WordPress repozitáři si všímejte data poslední aktualizace, počtu aktivních instalací, odpovědí na podporu a informací o testování s aktuální verzí WordPressu. Pluginy bez aktualizace delší než dva roky, bez reakce na podporu a bez informace o kompatibilitě s PHP 8.x představují dlouhodobé riziko.
5. Najděte náhradu za nekompatibilní plugin
Některé pluginy už nemusí být udržovány. Místo dočasného potlačování chyb raději přejděte na moderní a aktivně vyvíjené řešení. Například pokud starý kontaktní formulář způsobuje v PHP 8.2 TypeError, přechod na aktuální plugin přinese lepší bezpečnost i použitelnost.
Při výběru náhrady nekoukejte pouze na hodnocení. Sledujte pravidelnost aktualizací, podporu PHP 8.x, kompatibilitu s nejnovějším WordPressem, dokumentaci, snadnost migrace dat, dopad na výkon a kvalitu podpory. Pro funkce jako platby, rezervace nebo uživatelské účty je vhodnější zvolit řešení s profesionální podporou než bezplatný plugin.
6. Dočasně snižte verzi PHP
Pokud je web kompletně nedostupný a potřebujete rychle obnovit provoz, můžete dočasně přepnout na starší stabilní verzi PHP. Například pokud po přechodu na PHP 8.2 web nefunguje a předtím běžel na PHP 7.4 nebo 8.0, v hostingovém panelu nastavte zpět starší verzi, aby návštěvníci nepřišli o přístup. Pak ale proveďte důkladné testy a úpravy v staging prostředí.
Nezapomeňte, že starší PHP verze už nejsou bezpečné a dlouhodobé používání znamená riziko z hlediska bezpečnosti. Proto je toto řešení pouze nouzovým opatřením, nikoli trvalou úpravou.
7. Zkontrolujte nastavení PHP na serveru
Některé chyby nejsou přímo způsobeny pluginy, ale konfigurací serveru. Parametry jako memory_limit, max_execution_time, upload_max_filesize, post_max_size a max_input_vars jsou důležité zejména u WooCommerce, page builderů nebo vícejazyčných webů. Například nízké max_input_vars může způsobit selhání ukládání velkých formulářů nebo produktových variací, a nedostatečná paměť vede k chybě 500.
Obecně doporučujeme nastavit memory_limit na 256M, max_execution_time na 120 sekund a max_input_vars na minimálně 3000, ale každé prostředí je jiné a hodnoty by měly odpovídat skutečným potřebám. Pokud potřebujete pomoc, můžete využít Hosting kompatibilní s WordPress nebo hostingové služby s technickou podporou, kteří vám pomohou nastavení optimalizovat.
Nejčastější chyby PHP 8.x a jak je řešit
Fatální chyba: Uncaught TypeError
Tato chyba vzniká, když funkce obdrží hodnotu jiného typu, než očekává. Například pokud plugin očekává číslo, ale dostane null, PHP 8.x ukončí zpracování s chybou. Řešením je aktualizovat plugin na verzi kompatibilní s PHP 8.x nebo aplikovat opravu od vývojáře. U vlastních úprav je vhodné před použitím proměnné kontrolovat, zda není prázdná.
Volání neznámé funkce (Call to Undefined Function)
Tato chyba znamená, že volaná funkce neexistuje v aktuální instalaci PHP, WordPress jádru nebo není dostupná kvůli chybějícímu rozšíření. Zkontrolujte požadavky pluginu a aktivovaná PHP rozšíření ve vašem hostingu.
Zastaralé funkce a varování (Deprecated a Warning)
Upozornění na zastaralé funkce nezastaví chod webu, ale signalizují, že v budoucnu může dojít k fatální chybě. Na živém webu by tato upozornění neměla být viditelná. Nejlepší postup je ukládat je do logu a postupně plugin aktualizovat, informovat vývojáře nebo najít alternativu.
Vyčerpání paměti (Allowed Memory Size Exhausted)
Chyba znamená překročení limitu paměti. Zvýšení memory_limit může pomoci, ale často je příčinou neefektivní plugin, náročné dotazy nebo přerostlá databáze. WooCommerce, zálohovací pluginy a nástroje pro optimalizaci obrázků často spotřebovávají hodně paměti. Po zvýšení limitu sledujte, které pluginy spotřebu způsobují.
Co by měl hosting nabídnout pro bezproblémový přechod na PHP 8.x

Pro hladkou migraci na PHP 8.x je důležité mít aktuální, flexibilní a dobře spravovatelný hosting. Musíte mít možnost volby verze PHP, správy rozšíření, přístupu k chybovým logům, zálohování a obnovy, SSL certifikátům a sledování využití zdrojů. Problémy s SSL po aktualizaci PHP se sice přímo netýkají kompatibility, ale mohou způsobit potíže s přesměrováním a bezpečným připojením. Pomoci vám mohou také návody jako řešení SSL certifikátů a Průvodce instalací bezplatného SSL.
Dále je třeba zohlednit nastavení DNS, používání CDN a cache vrstvy, protože tyto faktory mohou ovlivnit výsledky testů i chování webu. Například i když opravíte plugin, CDN může dál zobrazovat staré chybové stránky. Proto je důležité vyčistit cache na všech úrovních: serverové, pluginové, v prohlížeči i CDN. Pokud řešíte změnu domény nebo přesun webu, doporučujeme začít s Dotaz na doménu a registraci a Průvodce správou DNS.
Jak dlouhodobě předcházet problémům: pravidelná kontrola kompatibility
Řešení nekompatibility s PHP 8.x jednou nestačí. WordPress ekosystém se neustále vyvíjí, proto je potřeba zavést pravidelnou údržbu. Profesionální weby by měly alespoň jednou měsíčně kontrolovat aktualizace pluginů a témat, každé tři měsíce provádět testy kompatibility v staging prostředí a kritické aktualizace plánovat a nasazovat na produkci systematicky.
Jednoduchý a účinný kontrolní seznam:
- Před každou aktualizací vždy zálohujte soubory a databázi.
- Čtěte poznámky k aktualizacím, zda obsahují informace o kompatibilitě s PHP 8.x.
- U pluginů bez údržby alespoň jednou za rok zvažte alternativy.
- Prioritně testujte bezpečnostní, platební a formulářové pluginy.
- V stagingu manuálně testujte klíčové uživatelské cesty.
- Po aktualizaci a po 24 hodinách znovu kontrolujte chybové logy.
- Odstraňujte nepotřebné pluginy, deaktivace nestačí.
Výhodou tohoto přístupu je včasné zachycení problémů. Například pokud plugin začne ve stagingu po aktualizaci na PHP 8.3 generovat varování, můžete to opravit, aniž by to ovlivnilo návštěvníky a prodeje na živém webu. Pro firemní weby, e-shopy a návštěvností bohaté blogy není tento přístup luxusem, ale nezbytností.
Příklad řešení: z bílé obrazovky k funkčnímu webu
Pojďme si ukázat reálný příklad. Máte WordPress web, který byl na PHP 7.4 a přecházíte na PHP 8.2. Po aktualizaci hlavní stránka zobrazuje bílou obrazovku a admin rozhraní vykazuje kritickou chybu. Nejprve zálohujete soubory a databázi přes hostingový panel. Poté v souboru wp-config.php aktivujete debug logování. V debug.log najdete chybu ve složce wp-content/plugins/old-slider.
Protože admin není dostupný, přejmenujete přes FTP složku old-slider na old-slider-disabled. Web se znovu načte správně. Zjistíte, že plugin nebyl aktualizován tři roky. Ve stagingu nainstalujete moderní slider plugin, přenesete obrázky a otestujete design. Vyčistíte cache, ověříte mobilní zobrazení a změny nasadíte na produkci. Nakonec ponecháte PHP 8.2 a starý plugin trvale odstraníte. V tomto případě není řešením snížit verzi PHP, ale změnit neudržovaný plugin za aktuální.
Kdy vyhledat profesionální pomoc?
Někdy může vlastní zásah situaci zhoršit. Pokud používáte platební brány, vlastní integrace, uživatelské systémy, vícejazyčné weby, vysoce navštěvované zpravodajské portály nebo firemní portály, náhodné deaktivace pluginů mohou způsobit ztrátu dat či příjmů. Pokud se v chybových logách objevují soubory vlastního tématu, API integrace nebo databázové dotazy, je lepší obrátit se na odborníky.
Při žádosti o podporu technického týmu uveďte tyto informace: verzi PHP, verzi WordPressu, aktivní motiv, provedené kroky před chybou, screenshot chybové obrazovky, obsah debug.log, čas poslední zálohy a seznam klíčových pluginů. Bez těchto údajů bývá diagnostika zdlouhavá a plná pokusů.
Často kladené dotazy
Proč WordPress po aktualizaci na PHP 8.x hlásí kritickou chybu?
Obvykle je příčinou starý nebo neudržovaný plugin, který není kompatibilní s přísnějšími pravidly PHP 8.x. Tyto chyby se často týkají nesprávného typu dat nebo odstraněných funkcí. Chybový log vám pomůže určit konkrétní plugin způsobující problém.
Vyřeší problém úplně snížení verze PHP?
Snížení verze PHP může dočasně obnovit funkčnost webu, ale není to trvalé řešení. Starší verze PHP již nejsou bezpečné. Správný postup je aktualizace nebo výměna nekompatibilních pluginů a přizpůsobení kódu novým verzím PHP.
Jak poznám, který plugin problém způsobuje?
Podívejte se do debug logu, kde je uvedena cesta k souboru pluginu, který chybu vyvolal. Pokud máte přístup do administrace, deaktivujte pluginy jeden po druhém a sledujte, kdy se chyba objeví znovu. Bez přístupu použijte FTP k přejmenování složek pluginů a testujte postupně.
Jsou PHP 8.2 nebo 8.3 bezpečné pro WordPress?
Aktuální verze WordPressu a udržované pluginy jsou obvykle s PHP 8.2 a 8.3 plně kompatibilní a bezpečné. Problémy spíše vznikají u starých témat a pluginů. Proto je důležité před přechodem vše pečlivě otestovat ve staging prostředí.
Jaký hosting je nejlepší pro PHP 8.x a WordPress?
Vyberte si hosting, který umožňuje snadno měnit verze PHP, automaticky zálohuje, nabízí staging prostředí, přístup k chybovým logům, správu SSL certifikátů a rychlou technickou podporu. Optimalizované prostředí pro WordPress a možnost rychlého obnovení z záloh jsou v krizových situacích velkou výhodou.
Stručné shrnutí a další kroky
Nejbezpečnější způsob, jak vyřešit nekompatibility pluginů po aktualizaci na PHP 8.x, je zálohovat, testovat v staging prostředí, číst debug logy, izolovat problematický plugin a nahradit ho aktuálním a kompatibilním řešením. Návrat k předchozí verzi PHP je možné použít jen jako nouzový krok. Dlouhodobě je nezbytné pravidelně udržovat pluginy, motivy a mít kvalitní hosting.
Pokud chcete mít ve správě PHP, zálohování, SSL nebo hostingu větší kontrolu, doporučujeme se podívat na zdroje Hostragons a klidně zvolit řešení podle svých potřeb. Začněte na stránkách Hostragons WordPress hosting a SSL certifikát.