Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: imagecreatefromjpeg & Fatal error
Forum PHP.pl > Forum > PHP
st3fan
Witam!
Mam mały problem, jednak nie do końca potrafię sobie z nim poradzić. Właściwie to nie wiem za którą pamięć się brać.
Otóż mam skrypcik, który z dużego obrazka robi mi miniaturę. Problem pojawia się już na początku kiedy próbuję wykorzystać funkcję imagecreatefromjpeg. Mianowicie wywala mi taki błąd:

Cytat
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 13600 bytes) in /home/st3fan/public_html/inc/scripts.php on line 232

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 133 bytes) in Unknown on line 0



Linijka 230 mówi:
  1. <?php
  2. $imgsrc  = imagecreatefromjpeg ($src);
  3. // gdzie $src to ścieżka do obrazka
  4. ?>

i co ważne, działa na Windowsie (lokalna maszyna do testowania). W momencie kiedy wrzucam skrypcik na serwer (Apache na linuxie, jednak nie wiem dokładnie która wersja) wywala mi właśnie taki błąd. Dodam, że generuje error w momencie kiedy obrazek ma spore wymiary (tylko w tym jednym przypadku), mianowicie: 3400 x 480 px oraz 491 KB.
Której pamięci może brakować? Miejsca na dysku? RAMu? A może jeszcze czegoś innego? Dodam też, że nie mam ustawionej quoty na tym koncie a miejsca jest jeszcze około 3,5 GB.
rogrog
chodzi o limit pamięci w php.ini
st3fan
Hmm, sprawdziłem. Zarówno php.ini na windowsie jak i na linuxie mają memory_limit ustawione na 8M...
Nie zmienia to faktu, że ten sam obrazek bez problemu obrabiany jest na windowsie, a na linuxie ciągle Fatal error.

# EDIT #
Nie dało mi to spokoju i postanowiłem przetestować zmianę memory_limit w pliku php.ini z 8M na 12M. Pomogło!
Wygenerował mi obrazek. smile.gif
Dzięki za wskazówkę rogrog
# KONIEC EDITA #
bendi
Wyleczyles tylko objaw a nie zrodlo, wiec jezeli twoj obrazek nie jest jakos starsznie wielki polecam stosowac po kazdym wygnerowaniu obrazka
image_destroy" title="Zobacz w manualu PHP" target="_manual
foosia
sprubuj tag:

$imgsr
  • $imgsrc = imagecreatefromjpeg ($src);
  • $imgsrc = imagecreatefromjpeg ($src);
  • $imgsrc = imagecreatefromjpeg ($src);
c = imagecreatefromjpeg ($src);
// gdzie $src to ścieżka do obrazka
st3fan
Cytat(bendi @ 2004-11-22 13:39:52)
Wyleczyles tylko objaw a nie zrodlo, wiec jezeli twoj obrazek nie jest jakos starsznie wielki polecam stosowac po kazdym wygnerowaniu obrazka
image_destroy" title="Zobacz w manualu PHP" target="_manual

bendi, dzięki, ale ja już używam image_destroy. Nie wiem co wyleczyłem, ale ważne, że działa. Z kolei jeżeli chodzi o rozmiar to już pisałem wyżej jaki jest plik.

Natomiast w ogóle nie rozumiem wypowiedzi foosia... o co chodzi?
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.