Chybové hlásenie Fatal Error

Ak sa pri aktualizácii ľubovoľného CMS, či už Wordpress alebo Joomla alebo eshopu napr. Prestashop, či OpenCart stránky nenačítajú a namiesto nich sa objaví biela stránka s chybovým hlásením začínajúcim frázou Fatal error:, dôvodom môže byť, že používate zastaralú verziu PHP - inak povedané aktualizovaná verzia vášho CMS či eshopu nie je kompatibilná s aktuálnou verziou PHP, ktorú máte nastavenú k vašej doméne.

Prvá vec, ktorú by ste mali vyskúšať na eliminovanie chyby typu Fatal error, je zmeniť verziu PHP.

Prihláste sa do vášho Control Panela a pri doméne, na ktorej sa nachádza táto chyba nájdite v zozname služieb Nastavenie Apache a PHP:

 

 

Po kliknutí na odkaz uvidíte aktuálne nastavenú verziu PHP pre Vašu doménu, napr. takto:

 

 

Kliknite na modrú ceruzku a vyberte vyššiu verziu, napr. 7.4 a kliknite na Zmeniť. PHP verzie 7.3 a vyššie majú pridelené viac pamäte (512MB). Nedostatok pamäte tiež môže byť dôvodom chybových hlásení typu Fatal error, takže pokým je to možné, odporúčame používať čo najvyššiu verziu PHP

 


 

Odporúčame používať PHP verzie 7.4, príp. 7.3, ak je to možné. Staršie verzie ako 7.2 (vrátane) sú zastaralé a neodporúčame ich používať. Môžete vyskúšať aj PHP verziu 8.0, rôzne CMS postupne túto verziu podporujú. Viac informácií nájdete na stránkach vývojárov konkrétneho CMS.

 

Po zmene nastavení počkajte zhruba 10-15 minút, nech sa nové nastavenia PHP aplikujú. Po aplikácii skontrolujte stav stránok, ktoré zobrazovali chyby Fatal error. Ak sa stránky budú teraz zobrazovať v poriadku, tak chyba bola skutočne v staršej verzii PHP, ktorá nebola kompatibilná s novšou verziou vášho CMS.

Ak nastane prípad, že sa chyby typu Fatal error budú naďalej zobrazovať, je dôležité si skopírovať typ hlásenia a vyhľadať na Google v spojení so software, ktorý používate.

Napríklad na vašej stránke Wordpress uvidíte chybu:

PHP Fatal error: Uncaught Error: Call to undefined function diff() in /public_html/index.php:12

v Google vyhľadajte "PHP Fatal error: Uncaught Error: Call to undefined function diff() wordpress" či takýto problém už niekto neriešil. Samozrejme ide o veľmi široký pojem, ktorého riešenie nemusíte nájsť hneď, preto odporúčame takéto a podobné chybové hlásenia konzultovať u technickej podpory daného software (napr. na nejakom diskusnom fóre).

Ak sa chyby Fatal error vyskytujú po inštalácii nejakého modulu, postupujte obdobným spôsobom alebo kontaktujte tvorcu modulu.

 

Aby ste sa vyvarovali vyššie spomenutých chýb, riaďte sa týmito pokynmi:

  • pred každou aktualizáciou CMS či eshopu si overte, s akou verziou PHP je daná verzia software kompatibilná
  • pred inštaláciou nejakého modulu si taktiež overte, od akej verzie PHP odporúča autor modul používať.
  • buďte opatrní pri inštalácii modulov, ktoré nemajú vysoké hodnotenie. Už aj hodnotenie napr. 4/5 môže naznačovať, že viacero majiteľov webov malo s daným modulom problémy.
  • taktiež bude opatrní pri aktualizácii CMS, ak používa nejakú inú, nie základnú, šablónu. Šablóny od iných tvorcov môžu niekedy spôsobovať problémy počas aktualizácie.
  • odporúčame nainštalovať si na nejakú subdoménu (napr. test.mojadomena.tld) testovaciu verziu vášho CMS, kde si môžete inštalácie nových modulov alebo aktualizáciu samotného CMS otestovať (pre subdoménu si môžete nastaviť vlastnú verziu PHP obdobne podľa postupu vyššie).