// blog

Cum configurezi PHP OPcache pentru performanță maximă: ghid practic

August 20, 2026 · by CLIQHOST

Cum configurezi PHP OPcache pentru performanță maximă: ghid practic

Dacă ai un site WordPress, Joomla sau orice aplicație PHP și vrei să îi crești viteza fără să investești în hardware suplimentar, PHP OPcache este una dintre cele mai eficiente soluții. Este o extensie inclusă în PHP încă din versiunea 5.5 și poate reduce dramatic timpii de răspuns ai serverului — uneori cu 50–80%.

În acest ghid vei afla exact ce face OPcache, cum îl activezi și cum îl configurezi corect, atât pe un VPS NVMe cu acces root, cât și printr-un hosting cPanel.


Ce este PHP OPcache și cum funcționează?

De fiecare dată când serverul tău primește o cerere PHP, interpretorul trebuie să:

  1. Citească fișierul .php de pe disc
  2. Îl compileze în bytecode (instrucțiuni mașină)
  3. Execute bytecode-ul
  4. Returneze răspunsul

Pașii 1 și 2 se repetă la fiecare cerere, chiar dacă codul nu s-a schimbat. OPcache elimină recompilarea prin stocarea bytecode-ului compilat direct în memoria RAM. La cererile ulterioare, PHP sare direct la execuție.

Rezultat: mai puțin CPU consumat, răspunsuri mai rapide, capacitate mai mare de trafic.


Pasul 1: Verifică dacă OPcache este activ

Pe un VPS SSD cu acces SSH, rulează:

php -r "echo opcache_get_status() ? 'OPcache activ' : 'OPcache inactiv';"  

Sau creează un fișier temporar de informații PHP:

echo '<?php phpinfo(); ?>' > /var/www/html/info.php

Deschide https://domeniultau.md/info.php în browser și caută secțiunea Zend OPcache. Șterge fișierul imediat după verificare — expune informații sensibile despre server.

Pe cPanel, poți vedea extensiile active din MultiPHP INI Editor sau PHP Selector.


Pasul 2: Activează OPcache (dacă nu este deja activ)

Pe VPS/server dedicat (php.ini)

Localizează fișierul php.ini:

php --ini | grep "Loaded Configuration"

Deschide fișierul și adaugă sau decomentează:

extension=opcache
zend_extension=opcache

Repornește PHP-FPM sau Apache:

# Pentru PHP-FPM
systemctl restart php8.2-fpm

# Pentru Apache cu mod_php
systemctl restart apache2

Pe cPanel (MultiPHP INI Editor)

  1. Intră în cPanel → MultiPHP INI Editor
  2. Selectează domeniul și versiunea PHP
  3. Caută opcache.enable și setează la 1
  4. Salvează modificările

Pasul 3: Setările optime pentru OPcache

Aici este diferența dintre un OPcache activ și unul bine configurat. Adaugă aceste directive în php.ini (sau în fișierul dedicat /etc/php/8.2/fpm/conf.d/10-opcache.ini):

; Activare
opcache.enable=1
opcache.enable_cli=0

; Memorie alocată (în MB) — recomandăm 128–256 MB
opcache.memory_consumption=128

; Dimensiunea tabelului de strings internat
opcache.interned_strings_buffer=16

; Numărul maxim de fișiere care pot fi cache-uite
opcache.max_accelerated_files=10000

; Intervalul de verificare modificări (secunde). 0 = verificare manuală
opcache.revalidate_freq=60

; Validare timestamps (1 = da, 0 = performanță max, dar necesită reset manual)
opcache.validate_timestamps=1

; Salvare comentarii (necesar pentru unele framework-uri cu adnotări)
opcache.save_comments=1

; Activare file cache pe disc (redundanță după restart)
opcache.file_cache=/tmp/opcache
opcache.file_cache_consistency_checks=1

Explicații pentru setările critice:

Directivă Valoare recomandată Explicație
memory_consumption 128–256 MB RAM rezervat pentru cache bytecode
max_accelerated_files 10 000–20 000 WordPress + plugin-uri = mii de fișiere
revalidate_freq 60 (producție) / 0 (dev) Cât de des verifică modificări
validate_timestamps 1 Detectează automat fișiere modificate

Pasul 4: OPcache pentru WordPress — setări specifice

WordPress cu un număr mediu de plugin-uri poate genera 3 000–8 000 de fișiere PHP. Dacă ai teme child, WooCommerce sau page buildere, numărul crește rapid.

Recomandare pentru un site WordPress pe hosting WordPress optimizat:

opcache.memory_consumption=192
opcache.max_accelerated_files=15000
opcache.revalidate_freq=300
opcache.fast_shutdown=1

După fiecare actualizare a temei sau plugin-urilor, golește manual cache-ul OPcache. Poți face asta cu un script simplu:

<?php
if (function_exists('opcache_reset')) {
    opcache_reset();
    echo 'OPcache golit cu succes.';
}

Sau folosind WP-CLI (recomandat pe VPS):

wp eval 'opcache_reset();' --allow-root

Pasul 5: Monitorizarea stării OPcache

Poți vedea statistici detaliate cu funcția opcache_get_status():

<?php
$status = opcache_get_status();
echo 'Memorie folosită: ' . round($status['memory_usage']['used_memory'] / 1024 / 1024, 2) . ' MB\n';
echo 'Fișiere în cache: ' . $status['opcache_statistics']['num_cached_scripts'] . '\n';
echo 'Hit rate: ' . round($status['opcache_statistics']['opcache_hit_rate'], 2) . '%\n';

Un hit rate sănătos este peste 90%. Dacă este mai mic:
- Crește memory_consumption
- Crește max_accelerated_files
- Verifică dacă validate_timestamps cauzează invalidări frecvente

Există și tool-uri vizuale gratuite precum opcache-gui pe care le poți instala pe serverul tău pentru un dashboard simplu.


Pasul 6: OPcache în medii de producție vs. dezvoltare

Producție (recomandat)

opcache.validate_timestamps=1
opcache.revalidate_freq=300

Dezvoltare locală

opcache.validate_timestamps=1
opcache.revalidate_freq=0

Sau dezactivează complet OPcache în dev pentru a vedea modificările instant:

opcache.enable=0

Pe un VPS NVMe de producție, niciodată nu seta revalidate_freq=0 cu validate_timestamps=0 simultan, fără un mecanism de resetare automată după deploy.


Greșeli frecvente și cum le eviți

1. Memorie insuficientă alocată

Dacă memory_consumption este prea mic (ex. 32 MB), cache-ul se umple rapid și performanța scade. Verifică utilizarea reală cu opcache_get_status() și ajustează.

2. max_accelerated_files prea mic

Valoarea implicită de 2 000 este insuficientă pentru WordPress. Setează minim 10 000.

3. Uiți să resetezi cache-ul după deploy

Dacă actualizezi fișierele PHP dar OPcache servește versiunea veche, vei vedea comportament ciudat sau erori. Integrează opcache_reset() în scriptul tău de deploy sau CI/CD.

4. OPcache activ pe shared hosting fără izolare

Pe un hosting shared de calitate, cum este hosting cPanel de la CLIQHOST, OPcache este configurat cu izolare per utilizator — nu există riscul ca un cont să afecteze altul.


OPcache + alte metode de caching: combinația câștigătoare

OPcache optimizează execuția PHP (server-side). Pentru performanță completă, combină-l cu:

  • Redis — caching de obiecte și sesiuni (dacă ai instalat Redis pe VPS)
  • CDN — pentru fișiere statice (imagini, CSS, JS)
  • Page cache (W3 Total Cache, WP Rocket) — stochează HTML generat
  • Compresie Gzip/Brotli la nivel de Nginx/Apache

Această combinație poate aduce timpii de răspuns sub 200ms chiar și pe un site cu trafic ridicat. Dacă ai nevoie de control total asupra stivei, un server dedicat managed îți oferă resursele și flexibilitatea necesare.


Concluzie

PHP OPcache este una dintre cele mai simple și eficiente optimizări pe care le poți face pentru un server PHP. Cu câteva directive bine alese în php.ini, poți reduce semnificativ consumul de CPU și îmbunătăți timpii de răspuns fără costuri suplimentare.

Pașii esențiali:
1. Verifică dacă OPcache este activ
2. Alocă suficientă memorie RAM
3. Setează max_accelerated_files corespunzător dimensiunii aplicației
4. Resetează cache-ul după fiecare deploy sau actualizare
5. Monitorizează hit rate-ul și ajustează periodic

Dacă vrei un mediu de hosting deja optimizat, cu OPcache configurat corect din start, explorează opțiunile de VPS NVMe sau hosting WordPress de la CLIQHOST — sau contactează-ne pentru o configurare personalizată.

SHARE
// ce spun clienții

Ce spun clienții noștri

Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău