Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][gd2] problem z tworzeniem miniatur z dużych plików
Forum PHP.pl > Forum > PHP
gmati
Witam,

Mam mini system do tworzenia miniatur z plików JPG. System ma na celu przesłanie pliku JPEG od użytkownika, i wygenerowanie dwóch miniatur różnej wielkości z tego pliku. Wszystko jest OK, gdy zdjęcia nie są zbyt dużej wielkości (1-2 Mpx). Przy większych rozdzielczościach miniatury nie są generowane. Większe pliki fizycznie udaje się wysłać na serwer, jednak miniatury nie są generowane.

Funkcje z jakich korzystam do generowania miniatur to:
ImageCreateFromJPEG
ImageSX
ImageSY
ImageCreateTrueColor
ImageCopyResampled
ImageJPEG

Czy problem może dotyczyć jakiś ograniczeń na serwerze? Z góry dzięki za jakieś sugestie.
nospor
Wlacz wyswietlanie bledow lub przejrzyj logi. Bledy powiedza ci lepiej niz my co jest nie tak.
trueblue
Może dotyczyć ograniczeń na serwerze, a najpewniej dostępnej pamięci.
Rozmiar zdjęcia w formie skompresowanej ma mniejsze znaczenie, większe ma faktyczna rozdzielczość zdjęcia, bo takowe musi być w pamięci przechowane w postaci surowej.
gmati
Przy próbie poddania obróbce większego pliku JPEG, wyskakuje błąd: HTTP ERROR 500.

Timeout albo za mało RAM?
sazian
500 to wewnętrzny błąd serwera, czyli to może być wszystko i nic.
Musisz się dostać do logów serwera, ale mi to wygląda na timeout
gmati
Doszedłem do takiego błędu w logach:

PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 3264 bytes) in ...*.php on line 7

Czyli za mało pamięci, do wykoniania zadania. Jaki jest optymalny rozmiar pamięci, do takich zadań przy dzisiejszych aparatach cyfrowych i telefonach?
maly_swd
Z tego co pamiętam na samo wczytanie do GD obrazka, potrzeba:
(wysokość) x (szerokosć) x (3 bajty na pixel) x 2 (coś tam gd jeszcze potrzebuje chyba na trzymanie kanałów alpha).

czyli 4000x 3000 x 3 x 2 = 70 MB na samo załadowanie.
Każda kolejna operacja może wymagać podobnego kawałka pamięci. Np kopiowanie ze zmniejszaniem.
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.