Allowed memory size of 134217728 bytes exhausted (tried to allocate 17152 bytes) in C:\wamp64\www\prestashop\prestashop\classes\ImageManager.php on line 485
Wiem co ten błąd oznacza. Problem jest taki, że presta ma mechanizm sprawdzania czy zdjęcie o danej rozdzielczości może zostać przetworzone na serwerze o danym limicie pamięci. Dokładnie funkcja "checkImageMemoryLimit" w klasie ImageManager.php linia około 99. Mimo to zamiast wyrzucać komunikat "Sprawdź limit pamięci" to przy zdjęciach z przedziału 12 - 21 mln pikseli (dla serwera o limicie pamięci 128MB) wywala się, natomiast powyżej 21 mln pikseli zwraca komunikat "sprawdź limit pamięci".
Na innym forum jedna osoba napisała, że taki problem nie występuje na serwerze o takim limicie pamięci ponieważ ładują zdjęcia większe i jest ok, a jak zdejmą sprawdzanie to nawet i 25 mln pikseli serwer da radę.
Ja próbowałam na:
serwerze netart (limit pamięci 128MB) presta 1.6.1.3
Na serwerze lokalnym (WAMP) ustawiłam limit pamięci 128MB presta 1.6.1.5
Na innym serwerze (nie wiem co to za serwer) ale jest uruchomione demo na którym da się załadować zdjęcia: http://waluty.x13demo.pl/admin_sklep/ presta 1.6.1.4
We wszystkich tych trzech przypadkach presta wywala się dokładnie w tym samym punkcie przy zdjęciach o takich samych rozmiarach (chodzi o rozdzielczość nie wagę zdjęcia).
Próbowałam różnych wersji PHP - ta sama sytuacja.
Moje pytanie jest takie czy tylko mi się tak dzieje? Czy jednak coś jest nie tak z funkcją checkImageMemoryLimit i przepuszcza zdjęcia, których serwer nie jest wstanie załadować?
W załączniku jest przykładowe zdjęcie przy którym presta się sypie w trzech wymienionych wyżej przypadkach. Można spróbować np. na tym demie.
Z doświadczenia z innych forum chciałam wszystkich poinformować, że wiem jakie zdjęcia się potrzebne do sieci i, że zdjęcia o rozdzielczości 4000 x 2000 pikseli to zdecydowanie za dużo do sieci i presta i tak to musi zmniejszać więc nie ma sensu ładować tak dużych zdjęć. O tym wszystkim wiem, ale jeżeli ktoś przypadkiem załaduje takie zdjęcie bo np. waży ono tylko 800 KB, to nie powinna się sypnąć tylko zwrócić odpowiedni komunikat.
Kolejna sprawa jest taka, że w Panelu administracyjnym jest opcja Ograniczenia rozdzielczości zdjęcia w pikselach, ustawiam ograniczenie, ale ono nie działa i tak pozwala ładować większe zdjęcie, a potem albo się sypie, albo przy bardzo dużych zwraca komunikat o limicie pamięci.
Question
addd
PHP wywala mi następujący błąd:
Wiem co ten błąd oznacza. Problem jest taki, że presta ma mechanizm sprawdzania czy zdjęcie o danej rozdzielczości może zostać przetworzone na serwerze o danym limicie pamięci. Dokładnie funkcja "checkImageMemoryLimit" w klasie ImageManager.php linia około 99. Mimo to zamiast wyrzucać komunikat "Sprawdź limit pamięci" to przy zdjęciach z przedziału 12 - 21 mln pikseli (dla serwera o limicie pamięci 128MB) wywala się, natomiast powyżej 21 mln pikseli zwraca komunikat "sprawdź limit pamięci".
Na innym forum jedna osoba napisała, że taki problem nie występuje na serwerze o takim limicie pamięci ponieważ ładują zdjęcia większe i jest ok, a jak zdejmą sprawdzanie to nawet i 25 mln pikseli serwer da radę.
Ja próbowałam na:
We wszystkich tych trzech przypadkach presta wywala się dokładnie w tym samym punkcie przy zdjęciach o takich samych rozmiarach (chodzi o rozdzielczość nie wagę zdjęcia).
Próbowałam różnych wersji PHP - ta sama sytuacja.
Moje pytanie jest takie czy tylko mi się tak dzieje? Czy jednak coś jest nie tak z funkcją checkImageMemoryLimit i przepuszcza zdjęcia, których serwer nie jest wstanie załadować?
W załączniku jest przykładowe zdjęcie przy którym presta się sypie w trzech wymienionych wyżej przypadkach. Można spróbować np. na tym demie.
Z doświadczenia z innych forum chciałam wszystkich poinformować, że wiem jakie zdjęcia się potrzebne do sieci i, że zdjęcia o rozdzielczości 4000 x 2000 pikseli to zdecydowanie za dużo do sieci i presta i tak to musi zmniejszać więc nie ma sensu ładować tak dużych zdjęć. O tym wszystkim wiem, ale jeżeli ktoś przypadkiem załaduje takie zdjęcie bo np. waży ono tylko 800 KB, to nie powinna się sypnąć tylko zwrócić odpowiedni komunikat.
Kolejna sprawa jest taka, że w Panelu administracyjnym jest opcja Ograniczenia rozdzielczości zdjęcia w pikselach, ustawiam ograniczenie, ale ono nie działa i tak pozwala ładować większe zdjęcie, a potem albo się sypie, albo przy bardzo dużych zwraca komunikat o limicie pamięci.
z góry dziękuje wszystkim za pomoc
Edited by addd (see edit history)
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now