Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekraczanie limitu pamięci
Forum PHP.pl > Forum > PHP
Asmox
Witam, zauważyłem że moja aplikacja przy błędzie sql (kiedy podane zapytanie wpisane przeze mnie ma pomyłkę), nie może wygenerować wyjątku ponieważ przekraczany jest limit pamięci. U mnie wynosi on 128 MB i szczerze mówiąc zdziwiło mnie kiedy zobaczyłem błąd:
Cytat
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 40 bytes) in C:\Program Files (x86)\wamp\www\aph\mysql.php on line 22

Sam kod generujący wyjątek wygląda tak:
  1. if(mysql_errno($this->_link) != 0) {
  2. $exc = new ExceptionConceptor('Wykonanie zapytania nie powiodlo sie.');
  3. $exc->addConcept('obiekt', 'mysql');
  4. $exc->addConcept('query', $sql);
  5. $exc->addConcept('errcode', mysql_errno($this->_link));
  6. throw $exc;
  7. }

Aplikacja mojej strony nie jest zbyt duża, wszystkie klasy zajmują mniej niż 100 KB, więc się zastanawiam, skąd coś takiego?
ShadowD
Ten błąd występuje zazwyczaj wtedy gdy kod albo jest nieskończenie wiele razy przetwarzany lub np. obrabia zdjęcia które są spore - jak by nie patrzeć coś musi przepełniać te 128mb i szukaj przyczyny
Uriziel01
Wrzuć gdzieś w problematycznej pętli echo z memory_get_usage (Link:http://php.net/manual/en/function.memory-get-usage.php)
i zobacz gdzie masz ten memory leak.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.