Motorul de pe forum phpBB caching este implementat prin fișiere. Totul este stocat în cache. De exemplu, fiecare sql-interogare este plasat într-un fișier separat, precum și o probă pentru fiecare utilizator din baza de date pot fi diferite, cache-ul crește la 150 000 de fișiere - un real exemplu de viață (pe forum, doar 70 și 700 de persoane). Toate acestea dermische se află într-un dosar mic și încarcă citit de pe disc. Dar în cazul meu problema a fost în actualizarea cache-ului. Ideea este că șabloanele sunt de asemenea stocate în cache. Prin urmare, atunci când modificați șablonul, trebuie să actualizați cache-ul - se poate face prin panoul de administrare. Aceasta este în cazul în care problema începe cu eliminarea dosarul cu zeci de mii de fișiere. Scriptul de ștergere a memoriei cache scade cu o eroare de 500.
S-ar părea că soluția standard este de a dezactiva cache-interogarea SQL în panoul de administrare, dar nu există astfel de setări. A trebuit să săpat în sursă.
Dezactivarea memorării în cache a interogărilor SQL
1) Fișierul /includes /db/mysql.php
Metoda sql_query ()
2) Fișierul /include /acm/acm_file.php
Metoda sql_save ()
La începutul metodei vom scrie o linie
return;
Dezactivați cache-ul șablonului
Fișierul /includes/template.php
Metoda sql_save ()
Acum șabloanele nu vor fi luate din cache de fiecare dată, ci vor fi recompilate din sursă. Șabloanele sursă sunt, de obicei, în / styles / prosilver / template /
Dar este mai bine să activați cache-ul șablonului. Ei nu iau mult spațiu (20-50 de fișiere în memoria cache), iar compilația se face prin expresii regulate, care, prin definiție, nu este rapidă. Puteți dezactiva cache-ul când editați șabloane atunci când nu putem șterge versiunile vechi din memoria cache.