Sari la conținut
Ghid pentru configurarea PHP pe server: versiuni, module și php.ini

Ghid pentru configurarea PHP pe server: versiuni, module și php.ini

De ce contează configurarea PHP. Ghid pentru configurarea PHP pe server: versiuni, module și php.ini.

PHP este limbajul de programare care alimentează peste 75% din site-urile web, inclusiv WordPress, Joomla, Drupal și aplicațiile dezvoltate cu Laravel sau Symfony. Configurarea corectă a PHP pe server influențează direct performanța, securitatea și stabilitatea aplicațiilor tale web.

Acest ghid acoperă tot ce trebuie să știi despre gestionarea PHP pe un server Linux.

Ghid pentru configurarea PHP pe server: versiuni, module și php.ini

Alegerea versiunii PHP potrivite este primul pas important:

Versiuni active și suportate

  • PHP 8.3 – versiunea stabilă actuală, performanță excelentă, funcționalități moderne
  • PHP 8.2 – încă suportată cu actualizări de securitate, alegere sigură pentru producție
  • PHP 8.1 – suport activ în scădere, planifică actualizarea

Versiuni depreciate (nu le folosi)

  • PHP 7.4 – nu mai primește actualizări de securitate din noiembrie 2022
  • PHP 5.x – extrem de vechi, vulnerabilități grave de securitate

Trecerea de la PHP 7.4 la PHP 8.2 poate aduce o îmbunătățire de performanță de 15-25% fără nicio altă modificare.

Instalarea mai multor versiuni PHP

Pe un server VPS, poți instala mai multe versiuni PHP simultan pentru a suporta aplicații cu cerințe diferite.

Pe AlmaLinux/Rocky Linux cu Remi Repository

  1. Adaugă repository-ul Remi: dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
  2. Instalează PHP 8.2: dnf module install php:remi-8.2
  3. Pentru versiuni multiple, folosește prefixul: dnf install php82-php-fpm php83-php-fpm

Pe Ubuntu/Debian cu PPA Ondrej

  1. Adaugă repository-ul: add-apt-repository ppa:ondrej/php
  2. Instalează versiunea dorită: apt install php8.2-fpm php8.3-fpm
  3. Fiecare versiune va rula ca serviciu separat

Module PHP esențiale

PHP funcționează cu module (extensii) care adaugă funcționalități specifice. Iată modulele esențiale pentru hosting web:

Module obligatorii

  • mysqli / pdo_mysql – conectivitate cu baze de date MySQL/MariaDB
  • curl – cereri HTTP externe, esențial pentru API-uri și actualizări
  • mbstring – suport pentru caractere multibyte (UTF-8, diacritice)
  • xml – procesare XML, necesar pentru feed-uri RSS și SOAP
  • gd sau imagick – procesare imagini (redimensionare, thumbnail-uri)
  • zip – compresie și decompresie arhive ZIP
  • json – inclus implicit din PHP 8.0

Module recomandate

  • opcache – cache pentru bytecode PHP compilat, îmbunătățire majoră de performanță
  • intl – internaționalizare, important pentru site-uri multilingve
  • bcmath – calcule matematice de precizie, necesar pentru e-commerce
  • soap – integrare cu servicii web SOAP
  • redis sau memcached – cache în memorie pentru sesiuni și obiecte

Verifică modulele instalate cu comanda: php -m

Configurarea php.ini – setări esențiale

Fișierul php.ini controlează comportamentul PHP. Localizează-l cu: php --ini

Setări de memorie și execuție

  • memory_limit = 256M – limita de memorie per script (256 MB este un standard bun)
  • max_execution_time = 300 – timpul maxim de execuție în secunde
  • max_input_time = 300 – timpul maxim pentru parsarea datelor de intrare
  • max_input_vars = 5000 – numărul maxim de variabile de intrare

Setări de upload

  • upload_max_filesize = 64M – dimensiunea maximă a unui fișier încărcat
  • post_max_size = 128M – dimensiunea maximă a datelor POST (trebuie mai mare decât upload_max_filesize)
  • file_uploads = On – permite încărcarea fișierelor

Setări de securitate

  • expose_php = Off – ascunde versiunea PHP din headerele HTTP
  • display_errors = Off – nu afișa erorile pe ecran în producție
  • log_errors = On – înregistrează erorile în fișierul de log
  • error_log = /var/log/php/error.log – calea către fișierul de log
  • session.cookie_httponly = 1 – protejează cookie-urile de sesiune
  • session.cookie_secure = 1 – cookie-urile se trimit doar pe HTTPS
  • allow_url_fopen = Off – dezactivează dacă nu este necesar, reduce riscurile de securitate

OPcache – cache-ul esențial pentru performanță

OPcache este modulul care transformă codul PHP în bytecode compilat și îl stochează în memorie. Fără el, PHP recompilează fiecare fișier la fiecare cerere.

Configurare OPcache optimă

  • opcache.enable = 1
  • opcache.memory_consumption = 128 – memorie alocată în MB
  • opcache.interned_strings_buffer = 16
  • opcache.max_accelerated_files = 10000 – numărul maxim de fișiere în cache
  • opcache.revalidate_freq = 60 – verifică modificările la fiecare 60 de secunde
  • opcache.validate_timestamps = 1 – verifică dacă fișierele s-au modificat

Cu OPcache configurat corect, poți obține îmbunătățiri de performanță de 2-3 ori pentru aplicații PHP.

PHP-FPM: configurare pentru performanță

PHP-FPM (FastCGI Process Manager) este metoda recomandată de rulare PHP cu Nginx și o alternativă mai bună decât mod_php pentru Apache:

  • pm = dynamic – gestionare dinamică a proceselor
  • pm.max_children = 20 – numărul maxim de procese worker
  • pm.start_servers = 5 – procese pornite la start
  • pm.min_spare_servers = 3 – procese minime în așteptare
  • pm.max_spare_servers = 10 – procese maxime în așteptare

Valorile depind de RAM-ul disponibil. O regulă de bază: fiecare proces PHP-FPM consumă 20-40 MB RAM.

Verificare și diagnosticare

Comenzi utile pentru verificarea configurației PHP:

  • php -v – afișează versiunea PHP
  • php -m – listează modulele instalate
  • php -i – afișează toată configurația (echivalent phpinfo())
  • php --ini – arată locația fișierelor de configurare
  • php -r "echo ini_get('memory_limit');" – verifică o setare specifică

Consultă celelalte ghiduri din blogul nostru pentru mai multe detalii despre optimizarea serverelor.

Configurarea corectă a PHP este esențială pentru performanța și securitatea oricărui site web. De la alegerea versiunii potrivite la optimizarea OPcache și PHP-FPM, fiecare setare contează. Nu te baza pe configurarea implicită – ajusteaz-o în funcție de cerințele aplicațiilor tale. Dacă ai nevoie de ajutor cu configurarea PHP pe serverul tău, echipa noastră de suport este disponibilă.

Înapoi sus
Your Cart

Your cart is empty.