Remediați avertismentul Nextcloud „OPcache-ul PHP nu este configurat corect”

Dacă Nextcloud raportează mesajul „OPcache-ul PHP nu este configurat corect” , soluția corectă nu este să lipiți un bloc mare de optimizare dintr-o postare veche pe forum. Mai întâi identificați ce limită sau setare OPcache obiectează Nextcloud, apoi modificați configurația PHP utilizată efectiv de serverul dvs. web.

În documentația actuală de administrare Nextcloud 35, OPcache este tratat ca un strat important de performanță PHP. Nextcloud spune că panoul său de administrare generează un avertisment aferent atunci când o limită de dimensiune OPcache depășește 90% din capacitatea alocată. De asemenea, necesită păstrarea comentariilor la codul din cache. Manualul propriu al PHP documentează directivele relevante și valorile implicite ale acestora. Aceste informații vă oferă o modalitate mai sigură de a regla OPcache: creșteți doar resursa constrânsă, mențineți comportamentul necesar activat și evitați modificările care complică actualizările, cu excepția cazului în care aveți un motiv pentru acestea.

Prezentare generală a administrării Nextcloud care afișează un avertisment privind configurația PHP OPcache în partea de sus a paginii.
Avertismentul trebuie tratat ca un indiciu de diagnostic: identificați constrângerea specifică OPcache înainte de a modifica limitele de memorie sau numărul de fișiere.

Ce înseamnă de obicei avertismentul Nextcloud OPcache

OPcache stochează bytecode-ul PHP compilat în memoria partajată, astfel încât PHP să nu fie nevoit să analizeze și să compileze aceleași fișiere de aplicație la fiecare cerere. Nextcloud descrie acest lucru ca o caracteristică de performanță, iar PHP a inclus Zend OPcache în nucleu încă de la PHP 5.5.

Avertismentul poate apărea din mai multe motive. Cele mai frecvente cazuri sunt atunci când o capacitate OPcache este aproape completă, OPcache este dezactivat pentru SAPI web sau un comportament necesar, cum ar fi păstrarea comentariilor, a fost modificat. Ghidul actual de optimizare Nextcloud precizează că un avertisment de dimensionare este afișat atunci când o limită de dimensiune OPcache depășește 90% din alocarea sa și necesită în mod explicit opcache.save_comments = 1.

Referințe oficiale: optimizarea serverului Nextcloud și îndrumări OPcache , note de configurare PHP Nextcloud și configurația PHP OPcache runtime .

Alegeți soluția pe baza avertismentului, nu pe baza unui blocaj universal.

SituaţieCea mai bună primă schimbareCompromis
Memoria OPcache depășește pragul de avertizare al NextcloudCrește opcache.memory_consumptionmoderatFolosește mai multă memorie RAM partajată, dar reduce pierderea memoriei cache
Șirurile internate sunt aproape plineCreșteopcache.interned_strings_bufferConsumă memorie partajată suplimentară; creșterea limitelor fără legătură nu oferă niciun beneficiu
Sloturile de script/fișiere din cache sunt aproape de capacitate maximăCreșteopcache.max_accelerated_filesO tabelă hash mai mare folosește mai multă memorie
OPcache este dezactivatSet opcache.enable=1pentru configurația web PHPNormal și recomandat pentru Nextcloud; verificați SAPI-ul corect
opcache.save_commentsa fost dezactivatSetopcache.save_comments=1Nu există niciun motiv semnificativ specific Nextcloud pentru a-l dezactiva; Nextcloud necesită păstrarea comentariilor

PHP listează în prezent valori implicite de 128 MB pentru opcache.memory_consumption, 8 MB pentru opcache.interned_strings_bufferși 10.000 pentru opcache.max_accelerated_files. Aceste valori implicite sunt puncte de referință, nu ținte universale Nextcloud. Un server personal mic poate fi suficient în apropierea lor, în timp ce o instalație mai mare, cu multe aplicații, poate necesita mai mult spațiu liber.

Pasul 1: Confirmați ce configurație PHP folosește de fapt Nextcloud

Acesta este pasul care previne multe remedieri eșuate. Nextcloud documentează faptul că serverul web și PHP-ul din linia de comandă pot încărca fișiere de configurare diferite. Pe sistemele de tip Debian și Ubuntu, căile comune includ /etc/php/<version>/fpm/php.ini, /etc/php/<version>/apache2/php.ini, și /etc/php/<version>/cli/php.ini.

Executați php --inipentru a vedea configurația CLI, dar nu presupuneți că este același fișier folosit de PHP-FPM sau Apache. Pentru SAPI web, utilizați o phpinfo()pagină temporară doar dacă o puteți proteja și elimina imediat sau inspectați configurația pool-ului/serviciului PHP-FPM și fișierele de module specifice distribuției.

Recomandare: dacă Nextcloud rulează în spatele Nginx sau Apache cu PHP-FPM, modificați configurația FPM OPcache. Dacă Apache folosește mod_php, modificați configurația Apache PHP. Mențineți configurația CLI aliniată atunci când joburile în fundal necesită același comportament, dar rețineți că avertismentul browserului este generat de calea cererii web.

Pasul 2: Editați cel mai mic set de directive OPcache care rezolvă problema

Editor de text care afișează un fișier de configurare OPcache cu directive de activare, memorie, șiruri de caractere internate, fișiere accelerate și salvare comentarii.
Editați configurația OPcache utilizată de SAPI-ul web. Măriți doar resursa care este constrânsă, în loc să copiați orbește o presetare supradimensionată.

Un exemplu conservator pentru un server modest este prezentat mai jos. Tratați valorile numerice ca puncte de plecare, nu ca garanții:

[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.save_comments=1

Dacă Nextcloud indică în mod specific că memoria OPcache este aproape plină, trecerea de la 128 MB la 256 MB poate fi o modificare incrementală rezonabilă atunci când serverul are suficientă RAM liberă. Dacă avertismentul indică în schimb șiruri de caractere interne sau scripturi memorate în cache, creșteți limita respectivă, nu doar memoria. Pe un VPS cu restricții de memorie, trecerea directă la 512 MB poate reduce memoria RAM disponibilă pentru lucrătorii PHP-FPM, baza de date, Redis și sistemul de operare.

Dar setările de revalidare?

Ghidul actual de optimizare Nextcloud spune că PHP verifică implicit scripturile din cache pentru modificări la fiecare două secunde și nu recomandă schimbarea acestei valori implicite pentru toată lumea. Ridicarea valorii opcache.revalidate_freqpoate reduce verificările sistemului de fișiere, dar compromisul este operațional: actualizările și modificările aplicației config.phppot dura mai mult până devin vizibile. Dezactivarea completă a validării timestamp este mai agresivă și poate lăsa codul vechi activ până când OPcache este șters manual sau PHP este repornit.

Pentru majoritatea administratorilor care încearcă doar să șteargă avertismentul, lăsați opcache.validate_timestampsși opcache.revalidate_freqla comportamentul lor normal, cu excepția cazului în care înțelegeți fluxul de lucru al implementării. Nextcloud avertizează în mod specific că un comportament neobișnuit după actualizări poate rezulta din codul învechit din cache, atunci când revalidarea a fost modificată.

Pasul 3: Reporniți serviciul PHP corect

După modificarea unui fișier INI, reporniți sau reîncărcați procesul PHP care deservește Nextcloud. Exemple tipice sunt systemctl restart php8.2-fpmpentru PHP-FPM sau o repornire/reîncărcare a Apache atunci când mod_php este în uz. Înlocuiți versiunea și numele serviciului cu ceea ce rulează efectiv sistemul dvs.

Acest lucru contează și mai mult dacă ați modificat comportamentul de revalidare. Repornirea serviciului corect garantează că noua configurație OPcache este încărcată și elimină ambiguitatea despre bytecode-ul învechit.

Pasul 4: Verificați valorile, dar verificați și SAPI-ul web

Terminalul afișează ieșirea OPcache pentru comenzile php --ini și php -i cu starea activată și valorile de configurare a cheii.
Verificările CLI sunt utile pentru găsirea fișierelor INI și confirmarea sintaxei, dar SAPI-ul web poate încărca o configurație diferită.

Verificările utile din linia de comandă includ:

php --ini
php -i | grep -i opcache

Aceste comenzi pot confirma că PHP recunoaște directivele, dar ele doar dovedesc configurația CLI. Dacă avertismentul Nextcloud persistă, comparați configurația încărcată a SAPI web cu rezultatul CLI. Acest lucru este important mai ales pe sistemele care mențin arbori INI separați cli, fpm, și apache2.

Pasul 5: Verificați din nou Administrare > Prezentare generală

Prezentare generală a administrării Nextcloud fără avertismentul OPcache și cu indicatori normali de stare a sistemului.
După reîncărcarea PHP, actualizați Administrare > Prezentare generală. Avertismentul OPcache ar trebui să dispară odată ce SAPI-ul web utilizează limite adecvate și setările necesare.

Reîmprospătați prezentarea generală de administrare Nextcloud după repornirea serviciului PHP. Dacă avertismentul dispare, configurația este citită de SAPI-ul corect și pragul raportat nu mai este depășit.

Dacă persistă, nu continuați să măriți valorile la întâmplare. Verificați patru lucruri în ordine: dacă ați editat fișierul INI corect, dacă un alt fișier INI încărcat ulterior suprascrie setarea dvs., dacă serviciul PHP relevant a fost repornit și dacă avertismentul denumește o resursă OPcache diferită de cea pe care ați mărit-o.

Câtă memorie OPcache ar trebui să aloci?

Nu există o singură valoare optimă. Obiectivul util este un spațiu suficient pentru ca memoria cache să nu se apropie continuu de limitele sale, fără a înfometa restul stivei. Pentru un VPS mic, începeți conservator și urmăriți presiunea asupra memoriei. Pentru o instanță cu multe aplicații sau o amprentă de cod PHP mai mare, 256 MB sau mai mult pot fi justificați atunci când utilizarea reală a OPcache-ului arată că 128 MB sunt insuficiente. Pe un server mare, dimensionarea memoriei ar trebui luată în considerare împreună cu numărul de lucrători PHP-FPM și alte servicii partajate.

Comparația practică este simplă: mai multă memorie OPcache poate reduce evicările din cache și recompilarea, dar mai puțină memorie OPcache lasă mai multă memorie RAM pentru workere PHP și baze de date simultane. Alegeți în funcție de utilizarea măsurată și de rapoartele de avertizare Nextcloud, nu în funcție de cel mai mare număr pe care serverul dvs. îl poate accepta.

Greșeli frecvente care fac ca avertismentul să persiste

  • Editarea CLI numai în PHP: browserul folosește în continuare PHP-FPM sau mod_php.
  • Ridicarea limitei greșite: mai multă memorie nu remediază un tabel complet de fișiere accelerate.
  • Uitarea repornirii: procesul PHP care rulează poate avea încă vechile valori INI.
  • Dezactivare opcache.save_comments: Nextcloud necesită păstrarea comentariilor.
  • Copierea fragmentelor de reglaje învechite: ghidurile vechi pot recomanda setări agresive de revalidare care creează probleme de actualizare.

Abordare recomandată în funcție de tipul de server

Server Nextcloud personal mic: păstrează valorile implicite de revalidare, păstrează comentariile și crește doar o limită care depășește efectiv pragul. Acest lucru minimizează utilizarea RAM și surprizele operaționale.

Server multi-utilizator ocupat: monitorizați consumul OPcache și permiteți mai mult spațiu acolo unde avertismentul de administrator indică presiune. Coordonați memoria OPcache cu dimensionarea worker-ului PHP-FPM, astfel încât o optimizare să nu creeze schimburi la nivel de sistem.

Găzduire gestionată sau imagine container: mai întâi determinați unde se intenționează să fie suprascrise setările PHP. Editarea unui fișier dintr-un container efemer poate dispărea după o redistribuire, în timp ce un furnizor poate expune valori INI personalizate prin intermediul panoului de control sau al configurației mediului.

Verificare finală

O corecție corectă are trei părți: procesul web PHP al Nextcloud are OPcache activat, comportamentul necesar, cum ar fi „ opcache.save_comments=1Rămâne intact”, iar resursa OPcache specifică care era aproape de capacitate maximă are acum un spațiu rezonabil. Odată ce aceste condiții sunt îndeplinite și PHP a fost reîncărcat, avertismentul ar trebui să dispară fără a recurge la alocări excesive de memorie sau la modificări riscante de validare a memoriei cache.

Lasă un comentariu

Remedierea erorii „Database Error” din Nextcloud WebGUI după o actualizare: Ghid practic de recuperare

Remedierea erorii „Database Error” din Nextcloud WebGUI după o actualizare: Ghid practic de recuperare

Remediați o eroare a bazei de date Nextcloud WebGUI după o actualizare prin verificarea jurnalelor, finalizarea actualizării occ, repararea problemelor schemei și verificarea stării bazei de date.

Remediați în siguranță avertismentul ownCloud Apache AllowOverride All

Remediați în siguranță avertismentul ownCloud Apache AllowOverride All

Remediați avertismentul ownCloud Apache AllowOverride All prin configurarea directorului corect, testarea Apache, reîncărcarea în siguranță și verificarea protecției .htaccess.

Cum să ștergeți jurnalele de audit Zimbra pentru a elibera spațiu pe disc în siguranță

Cum să ștergeți jurnalele de audit Zimbra pentru a elibera spațiu pe disc în siguranță

Aflați cum să identificați, să arhivați, să comprimați și să eliminați jurnalele de audit Zimbra vechi, când să evitați trunchierea audit.log și cum să verificați dacă spațiul pe disc și jurnalele se recuperează corect.

Remediați pagina goală / ecranul alb al morții din ownCloud: Alegeți calea de recuperare corectă

Remediați pagina goală / ecranul alb al morții din ownCloud: Alegeți calea de recuperare corectă

Remediați o pagină goală din ownCloud separând erorile de browser, PHP, aplicație, permisiuni, upgrade și proxy, apoi alegeți calea de recuperare cu cea mai puțină perturbare.

Remediați utilizarea ridicată a procesorului în Jitsi Meet pe browserele clientului

Remediați utilizarea ridicată a procesorului în Jitsi Meet pe browserele clientului

Diagnosticați vârfurile de solicitare a procesorului browserului Jitsi Meet și reduceți încărcarea clientului verificând dalele video, efectele camerei, grafica browserului și setările gazdei.

Cum să monitorizezi metricile Jitsi Videobridge cu Prometheus și Grafana

Cum să monitorizezi metricile Jitsi Videobridge cu Prometheus și Grafana

Urmărește starea de funcționare a Jitsi Videobridge, încărcarea conferințelor și traficul cu ajutorul endpoint-ului Prometheus încorporat, apoi explorează și prezintă datele în grafic în Grafana.

Cum se configurează un nume de domeniu personalizat pentru Jitsi Meet Docker

Cum se configurează un nume de domeniu personalizat pentru Jitsi Meet Docker

Configurați un domeniu personalizat pentru Jitsi Meet Docker cu DNS, PUBLIC_URL, HTTPS, Let's Encrypt, porturi firewall, setări NAT și verificare end-to-end.

Remediați eroarea 404 a consolei de administrare Zimbra negăsită după reînnoirea SSL

Remediați eroarea 404 a consolei de administrare Zimbra negăsită după reînnoirea SSL

Remediați erorile 404 din consola de administrare Zimbra după reînnoirea SSL verificând adresa URL și portul corecte, rutarea proxy, starea serviciului, certificatele implementate și jurnalele.

Remediați avertismentul Nextcloud „OPcache-ul PHP nu este configurat corect”

Remediați avertismentul Nextcloud „OPcache-ul PHP nu este configurat corect”

Învață cum să diagnostichezi și să remediezi avertismentul de configurare PHP OPcache din Nextcloud verificând setările SAPI PHP active, limitele de dimensionare, comentariile și revalidarea.

Remediați erorile de migrare a bazei de date Kopano după o actualizare a versiunii MySQL

Remediați erorile de migrare a bazei de date Kopano după o actualizare a versiunii MySQL

Depanați erorile de migrare a bazei de date Kopano după o actualizare MySQL sau MariaDB verificând copiile de rezervă, versiunile serverului, modurile SQL, setul de caractere, starea schemei și jurnalele.