PHP Fatal error: Allowed memory size of 33554432 bytes exhausted
PHP Fatal error: Allowed memory size of 33554432 bytes exhausted
Aceasta este o eroare care pare sa puna la incercare multi coderi php incepatori, asa ca dupa ce am raspuns de mai multe ori la aceasta intrebare pe forumuri m-am gandit sa scriu acest post pentru ca data viitoare sa dau acest link fara sa mai scriu aceasi explicatie din nou, sau poate doamne ajuta o sa caute pe google si o sa gaseasca aceasta pagina.
Mai intai sa intelegem de ce aparea aceasta eroare, daca nu v-ati dat seama din titlu, ea apare fiindca scriptul tau foloseste mai multa memorie decat e alocat in mod normal unui script php. Aceasta se intampla din cateva motive pe care le voi enumera acum :
- Output-ul scriptului tau ( HTML ) este prea mare ( se intampla destul de rar )
- scriptul foloseste memoria peste limita datorita varaibilelor folosite sau cererilor facute ( variabile POST FILES etc. – cea mai frecventa cauza )
- Exista un bug in scriptul tau care face ca scriptul sa consume asa de multa memorie
Acum nu trebuie sa te sperii, nu este o eroare asa de grava si poate fi remediata chiar foarte usor deobicei. Pentru a rezolva problema poti incerca ormatoarele :
- sa optimizezi scriptul ca sa nu mai manance atata memorie ( destul de logic nu ? )
- sa cauti eventualele bug-uri care ar putea cauza folosirea excesiva a memoriei
- sa minimizezi output-ul scriptului
- sa maresti varaibila de configurare php memory_limit fie in php.ini ( daca ai acces ) sau chiar in scriptul php folosind functia ini_set() ( ex: ini_set(‘memory_limit’,’32MB’); )
Limita default de 8MB a fost implementata in php pentru a opri scripturile de a rula atunci cand incep sa consume o cantitate de memorie prea mare din memoria totala a serverului, lucru care daca ar fi lasat sa continue ar putea cauza caderea serverului. Metoda cea mai buna de a corecta aceasta eroare ar fi de a optimiza scriptul php si a cauta eventulele bug-uri, decat de a mari limita de memorie metoda intradevar mai usoara si adoptata de foarte multi coderi ( desigur sunt si cazuri cand aceasta este singura solutie ) .
Sper ca acest articol v-a fost de ajutor si astept comentariile voastre.
Te-ar mai putea interesa si:
Nu sunt articole asemanatoare.
