Cum să schimbați versiunea PHP pe mediul dvs. de găzduire (Ghid complet)
Gestionarea versiunii PHP este una dintre cele mai critice sarcini administrative pentru orice proprietar de site web sau dezvoltator. Indiferent dacă faceți upgrade pentru a profita de cele mai recente îmbunătățiri de performanță, downgrade pentru compatibilitatea aplicațiilor legacy, sau patch-ați vulnerabilități de securitate, știind exact cum să comutați versiunile PHP în diferite medii de găzduire este o abilitate esențială. Acest ghid cuprinzător vă ghidează prin fiecare metodă disponibilă — de la interfața grafică a cPanel la instrumentele din linia de comandă pe VPS Hosting și servere dedicate.
1. De ce gestionarea versiunilor PHP este importantă
PHP alimentează peste 77% din toate site-urile web cu un limbaj cunoscut pe partea de server, inclusiv platforme majore precum WordPress, Joomla, Drupal și Magento. Fiecare versiune majoră PHP introduce schimbări semnificative:
- Câștiguri de performanță: PHP 8.x este dramatic mai rapid decât PHP 5.x sau 7.x, datorită compilatorului JIT (Just-In-Time).
- Patch-uri de securitate: Versiunile mai vechi de PHP ajung în cele din urmă la End of Life (EOL) și nu mai primesc actualizări de securitate, lăsând site-ul dvs. expus.
- Compatibilitate aplicației: Unele plugin-uri mai vechi, teme sau aplicații personalizate au fost scrise pentru versiuni specifice de PHP și pot se rupe pe versiuni mai noi.
- Conformitate hosting: Mulți furnizori de hosting impun cerințe minime de versiune PHP pentru a menține standardele de securitate ale serverului.
Negestiunea proactivă a versiunii PHP poate duce la funcționalitate defectă, breșe de securitate sau chiar timp de nefuncționare a site-ului web. Înțelegerea modului de control al acestei setări — indiferent de tipul de hosting — este obligatorie pentru orice administrator web serios.
2. Înțelegerea versiunilor PHP și compatibilității
Înainte de a face orice modificări, este important să înțelegeți ciclul de viață al versiunilor PHP și modul în care versiunile sunt structurate.
Numerotarea versiunilor PHP
PHP urmează o schemă de versioning MAJOR.MINOR.PATCH:
| Componentă | Exemplu | Semnificație |
|---|---|---|
| Major | 8 | Modificări arhitecturale semnificative, posibile modificări care încalcă compatibilitatea |
| Minor | 8.2 | Noi funcționalități, îmbunătățiri compatibile cu versiunile anterioare |
| Patch | 8.2.10 | Doar corecturi de erori și patch-uri de securitate |
Ciclul de viață al suportului PHP
Fiecare versiune minoră a PHP primește:
- Suport activ pentru aproximativ 2 ani (corecturi de erori + patch-uri de securitate)
- Suport doar pentru securitate pentru încă 1 an
- Sfârșitul vieții (EOL) după care nu se mai lansează patch-uri
Versiunile PHP acceptate în prezent (din 2024–2025)
| Versiunea PHP | Status | Note |
|---|---|---|
| PHP 8.3 | Suport activ | Cea mai recentă versiune stabilă |
| PHP 8.2 | Suport activ | Recomandată pentru majoritatea aplicațiilor |
| PHP 8.1 | Doar securitate | Încă utilizată pe scară largă |
| PHP 8.0 | EOL | Evitați — fără patch-uri de securitate |
| PHP 7.4 | EOL | Doar suport pentru moștenire |
| PHP 7.3 și mai jos | EOL | Puternic descurajat |
> Regulă de bază: Rulați întotdeauna cea mai nouă versiune de PHP pe care aplicația dvs. o suportă oficial. Dacă CMS-ul sau framework-ul dvs. suportă PHP 8.2, nu există niciun motiv să rulați PHP 7.4.
3. Metoda 1: Schimbarea versiunii PHP prin cPanel (MultiPHP Manager)
cPanel este panoul de control de găzduire cel mai utilizat pe scară largă și oferă două instrumente încorporate pentru gestionarea versiunilor PHP: MultiPHP Manager (la nivel de server sau per domeniu) și MultiPHP INI Editor (pentru ajustarea fină a setărilor PHP). Dacă utilizați un VPS cu cPanel, ambele instrumente sunt disponibile pentru dvs.
Pasul 1: Conectați-vă la cPanel
- Deschideți browserul și navigați la URL-ul de conectare cPanel:
https://yourdomain.com:2083 (securizat, recomandat)
https://yourdomain.com/cpanelhttps://your-server-ip:2083- Introduceți numele de utilizator cPanel și parola.
- Faceți clic pe Log In.
Pasul 2: Deschideți MultiPHP Manager
- În panoul de control cPanel, derulați la secțiunea Software.
- Faceți clic pe MultiPHP Manager.
> Alternativă: Unele configurații cPanel etichetează aceasta ca Select PHP Version, PHP Config, sau PHP Selector (acesta din urmă este obișnuit cu găzduirea partajată bazată pe CloudLinux). Interfața poate diferi ușor, dar procesul este același.
Pasul 3: Selectați domeniul și versiunea PHP
În interfața MultiPHP Manager:
- Veți vedea o listă cu toate domeniile și subdomeniile găzduite pe contul dvs.
- Bifați caseta de selectare lângă domeniul pe care doriți să-l modificați.
- Din meniul derulant PHP Version din partea de sus a paginii, selectați versiunea PHP dorită (de ex.,
PHP 8.2). - Faceți clic pe Apply.
> Important: Dacă sunteți pe un cont de găzduire partajată, versiunile PHP disponibile sunt determinate de furnizorul de găzduire. Dacă aveți nevoie de o versiune care nu este listată, contactați echipa de asistență a gazdei dvs. sau luați în considerare upgrade la un plan VPS Hosting unde aveți control deplin asupra versiunilor PHP instalate.
Pasul 4: (Opțional) Personalizați setările PHP prin MultiPHP INI Editor
După schimbarea versiunilor, poate fi necesar să ajustați valorile de configurare PHP:
- Reveniți la secțiunea Software din cPanel.
- Faceți clic pe MultiPHP INI Editor.
- Selectați domeniul din meniul derulant.
- Modificați valori precum:
memory_limit (de ex., 256M)
upload_max_filesize (de ex., 64M)
max_execution_time (de ex., 300)
post_max_size (de ex., 64M)
Faceți clic pe Apply pentru a salva modificările.
Pasul 5: Verificați modificarea
Creați un fișier de test pentru a confirma versiunea PHP activă (consultați Secțiunea 7 pentru instrucțiuni complete).
4. Metoda 2: Schimbarea versiunii PHP prin .htaccess (Apache)
Dacă mediul de hosting rulează Apache dar nu oferă un selector grafic PHP, puteți controla versiunea PHP direct prin fișierul .htaccess. Această metodă este deosebit de utilă pe planurile Shared Web Hosting unde accesul la nivel de server este restricționat.
Cum funcționează
Apache folosește handlere pentru a determina cum sunt procesate fișierele .php. Prin specificarea unui handler personalizat în .htaccess, instruiți Apache să utilizeze o versiune specifică de PHP pentru site-ul dumneavoastră.
Pasul 1: Accesați fișierul .htaccess
Puteți edita .htaccess prin:
cPanel File Manager: Navigați la public_html, găsiți .htaccess, faceți clic dreapta și selectați Edit.
Client FTP/SFTP: Conectați-vă la server și navigați la rădăcina web (de obicei public_html sau www).
Linia de comandă SSH: nano /home/username/public_html/.htaccess> Notă: .htaccess este un fișier ascuns. În clientul FTP, activați „Show Hidden Files.” În cPanel File Manager, bifați „Show Hidden Files (dotfiles)” în setările din dreapta sus.
Pasul 2: Adăugați directiva handler PHP
Adăugați una dintre următoarele linii în fișierul .htaccess, în funcție de convenția de denumire a handler-ului PHP al serverului dumneavoastră:
Pentru PHP 8.2:
AddHandler application/x-httpd-php82 .phpPentru PHP 8.1:
AddHandler application/x-httpd-php81 .phpPentru PHP 7.4 (moștenire):
AddHandler application/x-httpd-php74 .phpSintaxă alternativă (utilizată pe unii furnizori):
# Using suPHP or FastCGI
Action php-cgi /cgi-bin/php82
AddHandler php-cgi .php> Important: Numele exact al handler-ului (x-httpd-php82, x-httpd-php81, etc.) depinde de modul în care furnizorul de hosting a configurat PHP pe serverele sale. Dacă cele de mai sus nu funcționează, consultați documentația furnizorului sau contactați suportul pentru numele handler-elor corecte.
Pasul 3: Salvați și testați
Salvați fișierul .htaccess și testați site-ul. Dacă vedeți o eroare 500 Internal Server Error, numele handler-ului este probabil incorect — eliminați linia și încercați o sintaxă alternativă.
5. Metoda 3: Schimbarea versiunii PHP prin linia de comandă (VPS/Servere dedicate)
Dacă gestionezi propriile Servere dedicate sau un VPS cu acces root, ai control complet asupra instalării PHP și comutării versiunilor. Aceasta este cea mai puternică și flexibilă metodă.
Condiții preliminare
- Acces root sau sudo la serverul tău
- Client SSH (Terminal pe macOS/Linux, PuTTY sau Windows Terminal pe Windows)
- Familiaritate de bază cu operațiile din linia de comandă Linux
Ubuntu / Debian — Folosind update-alternatives
Sistemele bazate pe Ubuntu și Debian folosesc sistemul update-alternatives pentru a gestiona mai multe versiuni PHP simultan.
Pasul 1: Adaugă depozitul PHP Ondřej Surý
Acest PPA oferă mai multe versiuni PHP pentru Ubuntu/Debian:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt updatePasul 2: Instalează versiunea PHP dorită
# Install PHP 8.2 and common extensions
sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl
php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath
# Install PHP 8.1 if needed
sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysqlPasul 3: Comută versiunea PHP implicită (CLI)
# View all registered PHP alternatives
sudo update-alternatives --list php
# Switch to PHP 8.2
sudo update-alternatives --set php /usr/bin/php8.2
# Or use the interactive selector
sudo update-alternatives --config phpSelectorul interactiv va afișa ceva de genul:
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.1 81 manual mode
3 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:Introdu numărul corespunzător versiunii dorite și apasă Enter.
Pasul 4: Comută versiunea PHP pentru Apache (mod_php)
# Disable current PHP module (e.g., PHP 8.1)
sudo a2dismod php8.1
# Enable new PHP module (e.g., PHP 8.2)
sudo a2enmod php8.2
# Restart Apache
sudo systemctl restart apache2Pasul 5: Comută versiunea PHP pentru Nginx (PHP-FPM)
Pentru Nginx, PHP este gestionat prin PHP-FPM. Actualizează blocul serverului Nginx pentru a indica socketul FPM corect:
# In your Nginx server block configuration
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}Apoi repornește atât PHP-FPM cât și Nginx:
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginxCentOS / RHEL / AlmaLinux / Rocky Linux — Folosind depozitul SCL sau Remi
Opțiunea A: Folosind Software Collections (SCL) — CentOS 7
# Install the SCL repository
sudo yum install -y centos-release-scl
# Install PHP 7.4 via SCL
sudo yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-mysqlnd
# Enable PHP 7.4 for the current session
sudo scl enable rh-php74 bash
# Verify
php --version> Notă: Modificările SCL sunt specifice sesiunii. Pentru a le face permanente pentru un utilizator, adaugă source /opt/rh/rh-php74/enable la ~/.bashrc.
Opțiunea B: Folosind depozitul Remi — CentOS 7/8, AlmaLinux, Rocky Linux
# Install EPEL and Remi repositories
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm # For RHEL 8/AlmaLinux 8
# List available PHP streams
sudo dnf module list php
# Reset current PHP module
sudo dnf module reset php
# Enable PHP 8.2 stream
sudo dnf module enable php:remi-8.2
# Install PHP 8.2
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip
# Verify
php --versionComutarea PHP pentru site-uri individuale (versiunea PHP per site)
Pe serverele care rulează mai multe site-uri web, adesea ai nevoie de versiuni PHP diferite per site. Abordarea cea mai curată este să rulezi mai multe pool-uri PHP-FPM:
# Start PHP-FPM for multiple versions
sudo systemctl start php7.4-fpm
sudo systemctl start php8.1-fpm
sudo systemctl start php8.2-fpmApoi configurează fiecare gazdă virtuală Nginx pentru a folosi un socket FPM diferit:
# Site A — PHP 8.2
server {
server_name site-a.com;
root /var/www/site-a;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
}
# Site B — PHP 7.4 (legacy application)
server {
server_name site-b.com;
root /var/www/site-b;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}6. Metoda 4: Schimbarea versiunii PHP prin php.ini
În unele medii de hosting, în special cele care utilizează handlere PHP CGI sau FastCGI, puteți influența comportamentul PHP — și uneori chiar versiunea — prin intermediul unui fișier php.ini personalizat plasat în directorul rădăcină al site-ului dvs.
Crearea unui php.ini personalizat
- Creați un fișier numit
php.iniîn directorul rădăcină al site-ului dvs. (public_html). - Adăugați directivele de configurare:
; Custom PHP configuration
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000
date.timezone = "UTC"> Notă: Această metodă controlează *setările* PHP, nu neapărat *versiunea* PHP în sine. Selecția versiunii prin php.ini este posibilă doar pe configurații de hosting specifice. Pentru control complet al versiunii, utilizați cPanel, .htaccess, sau metodele din linia de comandă descrise mai sus.
7. Cum să Verifici Versiunea PHP Activă
După orice modificări, verifică întotdeauna că versiunea PHP corectă este activă. Există mai multe moduri de a face acest lucru:
Metoda A: Creează o Pagină de Test phpinfo()
- Creează un fișier nou numit
phpinfo.phpîn directorul rădăcină web (public_html). - Adaugă următorul conținut:
<?php
phpinfo();
?>- Navighează la
https://yourdomain.com/phpinfo.phpîn browserul tău. - Pagina va afișa informații cuprinzătoare despre configurația PHP. Versiunea PHP este afișată în partea de sus.
> Avertisment de Securitate: Șterge acest fișier imediat după testare. Ieșirea phpinfo() dezvăluie detalii sensibile ale configurației serverului care ar putea ajuta atacatorii.
Metoda B: Verifică prin Linia de Comandă (SSH)
php --version
# or
php -vIeșire așteptată:
PHP 8.2.10 (cli) (built: Sep 5 2023 08:12:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
with Zend OPcache v8.2.10, Copyright (c), by Zend TechnologiesMetoda C: Verifică printr-un Script PHP Simplu
Pentru o verificare mai puțin detaliată, folosește acest script minimal în loc de phpinfo() complet:
<?php
echo 'PHP Version: ' . PHP_VERSION;
echo '<br>PHP Major Version: ' . PHP_MAJOR_VERSION;
echo '<br>PHP Minor Version: ' . PHP_MINOR_VERSION;
?>Metoda D: Verifică prin WordPress Admin (pentru Site-uri WordPress)
În panoul de control WordPress:
- Mergi la Tools → Site Health.
- Fă clic pe fila Info.
- Extinde secțiunea Server.
- Caută PHP version.
8. Erori Comune După Schimbarea Versiunilor PHP
Schimbarea versiunilor PHP poate uneori cauza probleme. Iată cele mai frecvente probleme și cum să le rezolvi:
Eroare 1: White Screen of Death (WSOD) sau Pagină Goală
Cauză: Un plugin, temă sau cod personalizat utilizează sintaxă sau funcții incompatibile cu noua versiune PHP.
Soluție:
- Activează modul de depanare WordPress adăugând la
wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);- Verifică
/wp-content/debug.logpentru mesaje de eroare specifice. - Dezactivează toate pluginurile și comută la o temă implicită pentru a izola problema.
Eroare 2: 500 Internal Server Error
Cauză: Adesea cauzată de un handler PHP incorect în .htaccess, sau o extensie PHP care nu este instalată pentru noua versiune.
Soluție:
- Elimină sau corectează directiva
AddHandlerîn.htaccess. - Verifică jurnalul de erori al serverului:
tail -f /var/log/apache2/error.logsautail -f /var/log/nginx/error.log. - Asigură-te că extensiile PHP necesare sunt instalate pentru noua versiune.
Eroare 3: "Call to undefined function" sau "Class not found"
Cauză: O extensie PHP necesară aplicației tale (de ex., php-gd, php-mbstring, php-xml) nu este instalată pentru noua versiune PHP.
Soluție:
# Ubuntu/Debian — install missing extensions for PHP 8.2
sudo apt install php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip
# Restart web server
sudo systemctl restart apache2 # or nginxEroare 4: Avertismente Funcții Depreciate
Cauză: Codul tău utilizează funcții care au fost depreciate în versiunile mai vechi de PHP și eliminate în versiunile mai noi (de ex., funcții mysql_* eliminate în PHP 7.0).
Soluție:
- Actualizează codul sau pluginurile pentru a utiliza echivalente moderne (de ex.,
mysqli_*sau PDO). - Dacă modificările de cod imediate nu sunt posibile, ia în considerare rămânerea pe o versiune PHP compatibilă temporar în timp ce plănuiești actualizarea.
Eroare 5: Versiunea PHP Nu Se Schimbă În Ciuda Urmării Pașilor
Cauză: Pot fi în vigoare mai multe configurații PHP (de ex., CLI vs. server web), sau cache-ul servește răspunsuri vechi.
Soluție:
- Șterge cache-ul browserului și orice cache-uri pe partea serverului (OPcache, Redis, Varnish).
- Repornește serverul web:
sudo systemctl restart apache2sausudo systemctl restart nginx. - Confirmă că editezi corect
.htaccesssau fișierul de configurare pentru domeniul potrivit.
9. Cele mai bune practici pentru gestionarea versiunilor PHP
Urmați aceste linii directoare pentru a menține un mediu PHP sănătos, sigur și performant:
1. Testați întotdeauna într-un mediu de staging mai întâi
Nu schimbați niciodată versiunile PHP direct pe un site de producție live. Configurați un mediu de staging — fie un subdomeniu, fie un server separat — și testați aplicația dvs. temeinic înainte de a aplica modificări în producție.
2. Mențineți PHP actualizat
Abonați-vă la anunțurile oficiale de securitate ale PHP și planificați actualizările înainte ca versiunea dvs. actuală să atingă End of Life. Rularea versiunilor PHP EOL este una dintre cele mai frecvente cauze ale compromiterii site-urilor web.
3. Auditați pluginurile și dependențele înainte de upgrade
Înainte de a actualiza PHP, verificați compatibilitatea:
- Toate pluginurile și temele CMS instalate
- Dependențele Composer (
composer.json) - Codul aplicației personalizate
Utilizați instrumente precum PHPCompatibility (un set de reguli PHP_CodeSniffer) pentru a scana codebase-ul dvs. în căutarea problemelor de compatibilitate.
4. Mențineți extensiile PHP sincronizate
Atunci când schimbați versiunile PHP, reinstalați întotdeauna toate extensiile necesare pentru noua versiune. O extensie lipsă este cea mai frecventă cauză a erorilor post-upgrade.
5. Utilizați controlul versiunilor pentru fișierele de configurare
Stocați fișierele dvs. .htaccess, php.ini și fișierele de configurare a serverului într-un depozit Git. Acest lucru facilitează revenirea la versiuni anterioare dacă ceva merge prost.
6. Monitorizați după schimbarea versiunilor
După schimbarea versiunilor PHP, monitorizați:
- Jurnalele de erori ale aplicației
- Jurnalele de erori ale serverului (
/var/log/apache2/error.log,/var/log/nginx/error.log) - Metricile de performanță ale aplicației
- Alertele de monitorizare a timpului de funcționare
7. Alegeți gazduirea potrivită pentru flexibilitatea PHP
Dacă vă găsiți constant constrânși de opțiunile PHP ale mediului de găzduire, poate fi momentul să faceți o actualizare. Planurile de Shared Web Hosting oferă un set curat de versiuni PHP gestionate de furnizor, în timp ce VPS Hosting vă oferă libertatea completă de a instala, configura și schimba orice versiune PHP în orice moment. Pentru control și performanță de nivel enterprise, Dedicated Servers oferă flexibilitatea maximă.
10. Concluzie
Schimbarea versiunii PHP este o sarcină fundamentală de gestionare a hostingului care afectează direct securitatea, performanța și compatibilitatea site-ului dvs. Indiferent dacă utilizați MultiPHP Manager din cPanel, editați directivele .htaccess, sau gestionați instalațiile PHP prin linia de comandă pe un VPS sau server dedicat, principiile cheie rămân aceleași: testați înainte de a implementa, verificați după ce schimbați și păstrați întotdeauna versiunea PHP în ciclul de viață activ suportat.
Iată un rezumat rapid al metodelor acoperite:
| Metoda | Cea mai bună pentru | Acces necesar |
|---|---|---|
| cPanel MultiPHP Manager | Hosting partajat, cPanel VPS | Conectare cPanel |
| Directiva .htaccess | Hosting partajat bazat pe Apache | File Manager / FTP |
update-alternatives (Ubuntu/Debian) | VPS, servere dedicate | SSH root/sudo |
| Depozitul SCL / Remi (CentOS/RHEL) | VPS, servere dedicate | SSH root/sudo |
| php.ini personalizat | Medii CGI/FastCGI | File Manager / FTP |
Dacă căutați un mediu de hosting care face gestionarea versiunilor PHP simplă și vă oferă controlul de care aveți nevoie, explorați planurile AlexHost VPS Hosting — cu acces root complet, mai multe distribuții Linux și flexibilitatea de a rula orice versiune PHP necesită aplicațiile dvs. Puteți explora, de asemenea, gama noastră de Panouri de control VPS pentru a găsi interfața de gestionare care se potrivește cel mai bine fluxului dvs. de lucru.
Fiți proactivi cu actualizările PHP, iar site-urile dvs. vor rămâne rapide, sigure și compatibile pentru ani de zile.
la toate serviciile de găzduire