Modulul 8 · 8.4
Versiuni PHP și actualizări (upgrade)
Modulul 8: Copii de siguranță, mediu de testare și actualizări PHP · Timp de citire: 10 minute
Obiectiv de învățare: După această lecție veți putea pregăti, efectua și, dacă este necesar, anula în siguranță o actualizare (upgrade) a versiunii PHP.
Concepte-cheie: ciclul de viață al PHP (suport activ, numai securitate, final), compatibilitatea WordPress, a temei și a modulelor (pluginuri), învechit (deprecated), avertisment, eroare fatală, Sănătate site, jurnal de erori, mediu de testare (staging), restaurare, efectuarea unei actualizări
De ce contează versiunile PHP
WordPress, tema dumneavoastră și modulele (pluginurile) dumneavoastră sunt scrise în PHP (lecția 1.2). În fiecare an apare o nouă versiune de PHP (8.3, 8.4, 8.5, ...). Fiecare versiune este întreținută o perioadă fixă de timp:
- suport activ: doi ani cu reparații de erori și de securitate;
- numai securitate: apoi încă doi ani doar cu reparații de securitate;
- final (end of life): nu se mai fac reparații, nici măcar pentru vulnerabilități.
Situația la 8 noiembrie 2026, conform php.net:
| Versiune | Actualizări de securitate până la | Stare |
|---|---|---|
| 8.1 și mai vechi | (expirat) | Fără actualizări |
| 8.2 | 31 decembrie 2026 | Numai securitate, aproape de final |
| 8.3 | 31 decembrie 2027 | Numai securitate |
| 8.4 | 31 decembrie 2028 | Activ |
| 8.5 | 31 decembrie 2029 | Activ |
O site care rulează pe o versiune fără actualizări funcționează pe un software cu vulnerabilități cunoscute care nu mai sunt reparate. În plus, versiunile mai noi sunt considerabil mai rapide (lecția 6.3). Iar wordpress.org recomandă PHP 8.3 sau o versiune mai recentă (situația din noiembrie 2026). Scopul este deci să rămâneți la zi în fiecare an, nu să faceți un salt mare o dată la cinci ani.
De ce o actualizare poate strica ceva
Fiecare versiune nouă de PHP schimbă ceva. Funcțiile marcate de ani de zile ca învechite (deprecated) sunt eliminate, iar regulile devin mai stricte. Câteva exemple cunoscute:
- PHP 8.0 a eliminat, printre altele,
create_function()șieach(), iar multe avertismente au devenit erori; - PHP 8.2 a marcat crearea dinamică a proprietăților pe obiecte ca învechită, ceea ce apare frecvent în module (pluginuri) mai vechi.
Există trei tipuri de mesaje, iar diferența este importantă:
| Mesaj | Semnificație | Consecință |
|---|---|---|
| Deprecated (învechit) | „Acest lucru încă funcționează, dar va dispărea într-o versiune viitoare” | Nimic vizibil; un avertisment pentru viitor |
| Warning sau Notice | Ceva nu este complet corect | De obicei nimic vizibil, uneori o componentă se comportă ciudat |
| Fatal error | PHP se oprește | Pagină albă sau „eroare critică” (lecția 5.4) |
WordPress în sine ține de obicei bine pasul cu versiunile noi de PHP. Riscul se află la modulele (pluginurile) și temele vechi, mai ales dacă nu au fost actualizate de mult timp sau sunt personalizate (cod custom).
Găsirea versiunii dumneavoastră actuale
- În WordPress: Instrumente > Sănătate site, fila Informații, la Server: versiunea PHP. Sănătate site vă avertizează și dacă versiunea dumneavoastră este învechită.
- În panoul dumneavoastră de găzduire: la DirectAdmin cu CloudLinux, în Select PHP version (cu „(current)” după versiunea actuală).
- Uneori serverul dezvăluie acest lucru în antetul
X-Powered-By: PHP/8.3.x. De preferat să nu fie afișat (lecția 7.4), dar dacă apare, este rapid de verificat.
Atenție: la mulți furnizori de găzduire, versiunea PHP se aplică pentru întregul pachet, deci pentru toate site-urile din el. O site veche din același pachet vă poate împiedica să actualizați. Acesta este un motiv în plus pentru a curăța site-urile vechi sau a le aloca un pachet propriu.
Actualizarea: pas cu pas
- Actualizați mai întâi. Actualizați WordPress, tema dumneavoastră și toate modulele (pluginurile) la versiunea PHP actuală. O mare parte dintre probleme sunt astfel deja rezolvate, deoarece dezvoltatorii își adaptează codul pentru versiunile noi de PHP.
- Verificați ce spun modulele (pluginurile) dumneavoastră. Pe pagina de modul (plugin) de pe wordpress.org este indicată versiunea PHP necesară; în changelog apare adesea „compatible with PHP 8.x”. Un modul (plugin) care nu a fost actualizat de ani de zile (lecția 5.3) este un candidat pentru înlocuire.
- Faceți o copie de siguranță (lecția 8.1).
- Testați într-un mediu de testare (staging) (lecția 8.3). Dacă furnizorul dumneavoastră de găzduire permite o versiune PHP diferită per site, configurați mediul de testare pe noua versiune. Dacă nu se poate (o singură versiune per pachet), testați pe un mediu de testare dintr-un alt pachet, local, sau alegeți un moment liniștit pe site-ul de producție, cu versiunea veche pregătită pentru restaurare.
- Comutarea: alegeți noua versiune în panoul dumneavoastră. La DirectAdmin cu CloudLinux o alegeți în Select PHP version și faceți clic pe Apply; fără Apply nu se schimbă nimic.
- Verificare imediată: deschideți site-ul și navigați prin câteva pagini, inclusiv panoul de administrare, un formular și (la un magazin) procesul de finalizare a comenzii. Verificați în jurnalul de erori (lecția 5.4) dacă apar linii noi de tip
PHP Fatal error. - Extensii și setări: la unii furnizori de găzduire, extensiile PHP și opțiunile (precum
memory_limit) sunt legate de o versiune. Verificați după schimbare dacă acestea sunt setate corect pentru noua versiune.
Dacă apar probleme
- Eroare fatală: restaurați versiunea veche (acest lucru se poate face imediat la majoritatea furnizorilor de găzduire), astfel încât site-ul să funcționeze din nou. Căutați în jurnalul de erori ce modul (plugin) sau temă a fost vinovată (calea apare în mesajul de eroare), actualizați-o, înlocuiți-o sau cereți dezvoltatorului o soluție. Încercați din nou după aceea.
- Doar mesaje deprecated: niciun motiv să reveniți. Dar este un avertisment: la versiunea următoare poate deveni o eroare. Notați despre ce modul (plugin) este vorba.
- Cod personalizat care nu mai funcționează: o site veche creată de un constructor de site-uri poate conține cod pe care nimeni nu îl mai întreține. Atunci acel cod trebuie adaptat de cineva care cunoaște PHP. Unii furnizori de găzduire, inclusiv WebOké, oferă să facă acest lucru pentru dumneavoastră.
Nu lăsați o site „pentru totdeauna” pe o versiune veche doar pentru că un singur modul (plugin) nu ține pasul. Aceasta este o amânare a unei probleme care crește în fiecare an.
Mai multă siguranță în prealabil
Pentru cine dorește să meargă mai departe: cu PHP_CodeSniffer și regulile PHPCompatibilityWP puteți verifica automat codul modulelor (pluginurilor) și temelor dumneavoastră pentru lucruri care nu vor funcționa într-o versiune PHP mai nouă, fără a rula efectiv site-ul. Acest lucru detectează multe probleme, dar nu toate. Testarea într-un mediu de testare (staging) rămâne necesară.
În practică: cum arată acest lucru într-un panou
Ca exemplu folosim DirectAdmin cu CloudLinux. În cPanel se numește adesea MultiPHP Manager sau Select PHP Version, în Plesk PHP Settings.
- Deschideți Select PHP version (sub Extra Programe).
- Faceți clic pe versiunea de la PHP version, alegeți noua versiune și faceți clic pe Apply.
- Verificați filele Extensions și Options pentru noua versiune.
- Verificați site-ul dumneavoastră și jurnalul de erori. Dacă ceva nu funcționează, alegeți versiunea veche și apăsați Apply.
Rezumat
- Fiecare versiune PHP primește doi ani de suport activ și doi ani numai pentru securitate; după aceea nu se mai fac reparații. La 8 noiembrie 2026, versiunea 8.1 nu mai primește nimic, iar 8.2 încă până la sfârșitul anului 2026.
- O actualizare strică în special modulele (pluginurile) și temele vechi; deprecated este un avertisment, o eroare fatală oprește site-ul.
- Ordine: actualizați totul, verificați modulele (pluginurile), faceți o copie de siguranță, testați într-un mediu de testare (staging), comutați, verificați imediat.
- Dacă apar probleme, restaurați versiunea veche, găsiți vinovatul în jurnalul de erori și rezolvați problema; nu rămâneți blocat pe o versiune veche.
- La mulți furnizori de găzduire, versiunea se aplică pentru întregul pachet; curățați site-urile vechi.
Test (quiz)
Exercițiu
Exercițiu A8.4: Mai este susținută versiunea dumneavoastră de PHP? Verificați în Instrumente > Sănătate site (fila Informații, Server) ce versiune PHP folosește site-ul dumneavoastră și introduceți-o, împreună cu domeniul dumneavoastră. Programul compară versiunea cu lista de versiuni susținute de pe php.net: verde pentru suport activ, portocaliu pentru numai securitate, roșu dacă nu se mai fac actualizări. Dacă serverul dumneavoastră afișează versiunea în antetul X-Powered-By, programul verifică și dacă acesta corespunde cu ce ați introdus (și vă anunță că este mai bine să ascundeți acel antet, lecția 7.4).
Exercițiu D8.4: Un plan de upgrade. Scrieți un plan pentru actualizarea site-ului dumneavoastră la cea mai recentă versiune PHP oferită de furnizorul dumneavoastră de găzduire. Completați: versiunea actuală și cea țintă, ce module (pluginuri) și teme aveți și dacă acestea susțin versiunea țintă (cu sursa unde ați citit acest lucru), unde testați (mediu de testare/staging, alt pachet, local), cum puteți reveni, și când veți face acest lucru. Executați planul dacă puteți, și notați ce a apărut în jurnalul de erori.
Exercițiul D8.4: Un plan de upgrade
Acest exercițiu îl faceți singur; nimeni nu îl verifică. Bifați ce ați făcut și marcați exercițiul ca finalizat.
Alegeți o versiune țintă cu suport activ (sau cel puțin actualizări de securitate) și menționați pentru fiecare modul (plugin) o sursă (pagina modulului, changelog, Diagnosticul site-ului).
Bifele și notițele dumneavoastră rămân doar în acest browser; nu le trimitem nicăieri. Dacă sunteți autentificat, păstrăm în Cursurile mele doar faptul că ați finalizat exercițiul.
Lecturi suplimentare
Aceste articole descriu pașii în panourile WebOké; în alte panouri funcționează similar.
- Manual DirectAdmin 14.1: Alegerea versiunii de PHP (Select PHP version)
- Manual DirectAdmin 14.6: Erori după o actualizare PHP și găsirea jurnalului de erori
- Modificarea versiunii PHP și a setărilor PHP (și ce trebuie să faceți în cazul apariției erorilor după o actualizare)
- Manual DirectAdmin 14.2: Activarea și dezactivarea extensiilor PHP
- Manual WebOké 6.11: Comandarea unui upgrade PHP
- Versiuni PHP susținute (php.net, în limba engleză): https://www.php.net/supported-versions.php
- PHP și versiunile WordPress (make.wordpress.org, în limba engleză): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
