Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Allowed memory exhausted
Forum PHP.pl > Forum > Przedszkole
Leeddo
witam, mam taki oto blad ktorego chcial bym sie pozbyc ( nie przez error_reporting(0); snitch.gif )

Cytat
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12288 bytes) in C:\...\insert_photo.php on line 31


przy dodawaniu obrazkow tym skryptem ktory mam w petli foreach:

  1. <?php
  2. $filename='DB_Photo/IMG_'.$wartosc.'.JPG';
  3. $array = getimagesize($filename);
  4. $width_orig= $array[0];
  5. $height_orig= $array[1];
  6.  
  7.  
  8. $width= 320;
  9. $height= 240;
  10. $image_p = imagecreatetruecolor($width, $height);
  11. $image = imagecreatefromjpeg($filename); //blad wskazuje na ta linie (31)
  12. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  13.  
  14. imagejpeg($image_p,'DB_Thumb/IMG_'.$wartosc.'.JPG', 30);
  15. ?>

chce zmielic obrazki o wadze 300-500kb i rozdzielczosci 1536x1024 ktore sa juz na dysku ( nie uzywam fille upload )

przeszukalem forum, wiem ze ma to zwiazek z gd ktore pozera cala ta pamiec, i widzialem ze najczestsza rada jest zwiekszenie pamieci w php.ini
ustawione mam:
memory_limit = 256M ; Maximum amount of memory a script may consume (16MB)

mysle ze ten watek jest najblizej tego co chce osiagnac, niestety nie konczy sie rozwiazaniem problemu sad.gif
link

pozdrawiam


znalazlem na googlach:
w apache mialem wykomentowana obsluge .htaccess, gdyby ktos mial z tym problem to:
w pliku apache\conf\httpd.conf nalezy skasowac # przed #LoadModule rewrite_module modules/mod_rewrite.so

w katalogu z nasza strona robimy .htaccess i wsadzamy: php_value memory_limit 64000000
tsharek
Cytat
memory_limit = 256M ; Maximum amount of memory a script may consume (16MB)

I to nie rozwiązało problemu? Tyle pamięci to już bardzo dużo jak na wykonanie. Przeresetowałeś serwer? Zobacz na phpinfo" title="Zobacz w manualu PHP" target="_manual() ile tam Ci pokazuje memory limit. A co do htaccess: to może CI nie działać, gdyż dodatkowo musisz AllowOverride (np All). Albo inaczej: czy to przetwarzanie GD jest zrobione w jakiejś pętli, gdzie nie używasz imagedestroy" title="Zobacz w manualu PHP" target="_manual?
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.