PHP-verzió frissítés után hibák jelennek meg – hogyan javítsd biztonságosan
PHP verzió frissítés után hibák jelennek meg – részletes hibaelhárítási útmutató
Bevezetés – miért okoz gondot egy PHP-frissítés?
A PHP egy folyamatosan fejlődő programozási nyelv, amely verzióváltások során gyakran eltávolít réginek számító funkciókat, módosít osztályokon, kifejezéseken, és bizonyos esetekben szigorúbb biztonsági ellenőrzéseket vezet be. Egy weboldal – legyen az WordPress, Joomla, Laravel vagy egyedi fejlesztés – csak akkor kompatibilis egy új PHP-verzióval, ha a benne futtatott kód már fel van készítve a változásokra.
A frissítés utáni tipikus hibák:
- 500 Internal Server Error
- Deprecated function warning
- Fatal error: Call to undefined function
- White screen of death (fehér képernyő)
- Nem tölt be a webszerver, vagy bizonyos részek eltűnnek
1. lépés – teljes mentés készítése frissítés után is
Bármilyen hibaelhárítás alapja egy friss, biztonságos mentés készítése, még akkor is, ha a weboldal már nem működik megfelelően.
Fájlmentés készítése FTP-vel
- Használj FileZilla-t vagy más FTP klienst.
- Másold le a teljes webrootot (public_html, httpdocs vagy a megfelelő mappa) a saját gépedre.
Adatbázismentés phpMyAdminból
- Válaszd ki a megfelelő adatbázist.
- Export → Quick → SQL.
- Mentsd el egy külső meghajtóra vagy felhős tárhelyre.
Ez a lépés garantálja, hogy bármilyen további tévedés vagy kompatibilitási probléma esetén vissza tudsz térni a kiindulási pontra.
2. lépés – logok elemzése a pontos hibaüzenethez
PHP-frissítés után a hibaüzenetek sokat segítenek a probléma pontos okának megtalálásában. A webszerver és a PHP error logjai a következő helyeken találhatók:
- Apache: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
- cPanel: cPanel Error Log menüpont
- PHP saját log: /var/log/php_error.log
Tipikus hibaüzenetek:
- Call to undefined function mysql_connect() – a régi mysql_* függvények 7.0 óta nem érhetők el.
- Deprecated warning – elavult funkció használata.
- Cannot redeclare class – inkompatibilis vagy többször betöltött osztály.
3. lépés – PHP verzió visszakapcsolása vagy váltás egy stabilabbra
Ha a frissítés után az oldal teljesen összeomlik, a leggyorsabb átmeneti megoldás egy korábbi stabil verzió visszaállítása.
cPanelben:
- Keresd a Select PHP Version vagy MultiPHP Manager menüpontot.
- Válaszd ki a korábban működő verziót (pl. 8.0 vagy 8.1).
- Mentsd el a beállítást.
Ez nem végleges megoldás, de időt ad a kompatibilitási hibák kijavítására.
4. lépés – bővítmények, libraryk és modulok kompatibilitásának vizsgálata
A legtöbb rendszerhiba bővítményekből vagy egyedi modulokból ered.
- WordPress: szükséges lehet a bővítmények frissítése
- Laravel: composer update
- Joomla: extension update
WordPress esetén:
- A plugins mappa átnevezése FTP-n: plugins_disabled
- Ha az oldal ezután betölt, akkor egy plugin okozza a hibát.
5. lépés – régi, elavult funkcionalitások lecserélése
PHP-frissítés után gyakori, hogy olyan funkciók okoznak hibát, amelyek már régóta elavultak, de a rendszer eddig engedte futni őket.
Példák:
- mysql_* → cseréld mysqli vagy PDO API-ra
- ereg, eregi → használj preg_match-et
- magic quotes → teljesen eltávolítva
6. lépés – főpróba: phpinfo ellenőrzése
A phpinfo() kimenet megmutatja:
- a tényleges PHP-verziót
- az engedélyezett modulokat (mysqli, pdo_mysql, gd, curl stb.)
- a futási környezetet, memória-korlátokat
7. lépés – mikor kérj szakembert?
- Ha elavult funkciók tömege miatt a kód teljes újraszervezést igényel.
- Ha a rendszer keretrendszere túl régen lett frissítve.
- Ha a PHP-modulok vagy extensionök hibákat dobálnak.
Hasznos hivatkozások
- PHP changelog: https://www.php.net/ChangeLog
- FileZilla letöltés: https://filezilla-project.org/
- WordPress hibakeresés: https://wordpress.org/support/