Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> błąd przydzielania pamieci dla skryptu, Allowed memory size of 134217728 bytes exhausted tried to allocate 71
DK.log
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.05.2009

Ostrzeżenie: (0%)
-----


Witam.

Pierwszy raz spotakłem się z czyms takim.

W skrypcie PHP w momencie próby zbudowania zmiennej tablicowej w pętli, wywala błąd o przydziale pamięci.
Cytat
Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in /var/www/html/index.php on line 33


Zresztą sami spójrzcie:
  1. $ap = array ('V1', 'V2', 'JM1', 'JM2' );
  2.  
  3. for ($i=(count($ap)+1); $i<(count($ap)+15); $i++)
  4. {
  5. $ap[$i]="GM $i"; //to jest właśnie linia 33
  6. }

Jak widać w momencie wystapienia błedu skrypt próbuje dopisac do zmiennej tablicowej $ap (zawierającej aktualnie 4 rekordy) koloejne 15 rekordów. Nie sadze, żeby 19 rekordów przekraczało 134217728 bajtów (czyli 128 MB), zresztą po zmianie w php.ini
Kod
memory_limit = 128M
na
Kod
memory_limit = 512M
wyskakuje identyczny błąd (zmienia się tylko ilość dozwolonej pamięci zmienia się na 536870912).

Włączenie obsługi długich tablic
Kod
register_long_arrays = On
też nie pomaga - zresztą 19 rekordów to nie jest długa tablica.

Jestem prawie pewien, ze to kwestia konfiguracji apach'a, ale nie mam pomysłu co konkretnie mogłoby to powodować.

A może coś z uprawnieniami do katalogu/plików?

Jesli ktos ma jakis pomysł to bardzo prosze pomoc / podpowieedź.

Z góry dzięki.

Pozdrawiam

Ten post edytował DK.log 19.10.2010, 22:27:45
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:02