[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в при общении к imagerotate
Protva
При обращении к функции imagerotate выдает ошибку
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 1944 bytes)
PHP
function rotate ($filename$rotat)
{
    
$dest_img imagecreatefromjpeg ($filename); 
# поворот
    
$dest_img imagerotate ($dest_img$rotat0);
# записываю в файл
    
imagejpeg ($dest_img$filename100);  
    
chmod ($filename0666);
# чистка памяти
    
imagedestroy ($dest_img);
    return;
}


Ошибка вылетает только при обработке больших файлов с фото больше 2г, если размер маньше, то проходит все нормально.
Примерно такая же ошибка вылетает и при использовании функции imagecreatetruecolor.
Вот не могу понять из-за чего это происходит, то ли из-за настроек на хостинге, то ли я что не так делаю.



Спустя 9 часов, 3 минуты, 10 секунд (28.10.2009 - 20:02) kirik написал(а):
Цитата (Protva @ 28.10.2009 - 02:59)
фото больше 2г

blink.gif какие-то маленькие картиночки...

Цитата (Protva @ 28.10.2009 - 02:59)
Вот не могу понять из-за чего это происходит, то ли из-за настроек на хостинге, то ли я что не так делаю.

Да, на хостинге стоит ограничение по памяти в 32 мб - тоесть при запуске каждый скрипт имеет в распоряжении эту память. А ошибка вылазит потому что ты пытаешься отъесть больше памяти, чем выделено скрипту.

Спустя 1 час, 10 минут, 28 секунд (28.10.2009 - 21:13) twin написал(а):
2 гектара это круто... Другой вопрос, что ты перепутал мегабайты с гигабайтами наверно.
Попробуй увеличить квоту для скрипта. В .htaccess это поставь и пробуй разные значения
Код
php_value memory_limit 60M

Спустя 10 часов, 57 минут, 54 секунды (29.10.2009 - 08:11) Protva написал(а):
Да нет, не перепутал гектары с метрами.
Полный скрипт как раз и предназначен для уменьшения веса фото, которые пользователи загружают в фотогалерею, до разумных пределов. У нас же народ как - что получил с цифровика, то и в сеть пытается запихать.
Загрузка на сайт проходит нормально, пробовал до 5 гб закачивать и неоднократно, а вот при дальнейшей обработке когда сработает, когда нет. И это с одними и теми же фото.
В .htaccess обязательно попробую квоту увеличить.

Спустя 42 минуты, 7 секунд (29.10.2009 - 08:53) kirik написал(а):
Хе smile.gif Ничивошиньки себе фотографии.. Это с телескопа? smile.gif Я бы не давал пользователям грузить фотки больше 2х МБ каждая..

Спустя 20 минут, 1 секунда (29.10.2009 - 09:13) Protva написал(а):
После обработки на сайте эти фото становятся от 100 до 400кб
А при ограничении можно терять пользователя, ведь не все умеют работать с графикой.

Спустя 6 часов, 43 минуты, 41 секунда (29.10.2009 - 15:56) Protva написал(а):
Код
php_value memory_limit 10M

Попробовал вставить в .htaccess, но тогда вообще ничего с сайта не запускается. Получаю:
Код

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@rodstwenniki.ru and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.


Придется видно к хостеру стучаться, а это такой гемор...

Спустя 37 минут, 57 секунд (29.10.2009 - 16:34) sergeiss написал(а):
Цитата (Protva @ 29.10.2009 - 10:13)
А при ограничении можно терять пользователя, ведь не все умеют работать с графикой.

Мне так кажется, что если ты потеряешь юзеров, желающих работать с фотками размером 2 ГБ... То ты не потеряешь ничего smile.gif

Ты мне можешь назвать хотя бы один фотоаппарат, который выдает такие фотки? Видео такого объема будет достаточно продолжительным. А фото будет просто гигантское...

Или ты, все-таки, перепутал гигабайты с мегабайтами? Кстати. 2ГБ - это чуть меньше половины DVD-диска, и почти 3 CD диска.

Спустя 5 часов, 12 минут, 25 секунд (29.10.2009 - 21:47) Sylex написал(а):
Цитата (kirik @ 29.10.2009 - 11:53)
Это с телескопа? smile.gif



laugh.gif laugh.gif laugh.gif

Спустя 10 минут, 47 секунд (29.10.2009 - 21:58) Sylex написал(а):
кстати, на размеры осн. форматов (BMP, GIF, JPEG, PCX) - выделяется 4 байта на сторону... т.е. максимальные размеры:

65535 х 65535

Макс. число бит/пиксел - 24 бит, т.е. 3 байта...

Итого
65535 * 65535 * 3 = 12884508675 байт = 12 Гб примерно... для JPEG кстати, не учитываем сжатие еще... возможно еще сис. инфа - байты/биты разделители - итого еще больше...

Так что такие фотки - это просто фантастика)))

BMP - может только выйти думаю)))

Правда не рассмотрели эти мега-форматы:

PNG - 48 бит/пиксел, размеры - 2'147'483'647 x 2 147 483 647. Тут ниче не скажешь..

TIFF - 24, всего 4'294'967'295

Вот так, ну я поржал, спасибо laugh.gif

Спустя 1 минута, 44 секунды (29.10.2009 - 21:59) SunSet написал(а):
Если честно - то даже не могу себе представить растровое изображение на 2 гб. Редко когда PSD исходник крутого качества занимает хотя бы 500 мб, а тут 2 гб... Тут не то что с телескопа, а с какогото межгалактического..

Спустя 22 минуты, 3 секунды (29.10.2009 - 22:21) twin написал(а):
Цитата
Попробовал вставить в .htaccess, но тогда вообще ничего с сайта не запускается.

У тебя php стоит как CGI. Тебе не в .htaccess тогда надо а в php.ini

Спустя 9 часов, 14 минут, 13 секунд (30.10.2009 - 07:36) Protva написал(а):
Ребята, виноват sad.gif Конечно размер в мгб. В гектарах я и сам не видел такого. Что-то в мозгу переклинило.

В php.ini пробовал, но только пытался увеличить допустимый размер закачиваемового файла.
Код
$m_up = ini_set (upload_max_filesize, 10M);

Но, $m_up =false. Я так понимаю, что хостер не разрешает делать поправки.

Спустя 6 минут, 40 секунд (30.10.2009 - 07:42) twin написал(а):
Я замерял скрипт с двумя ресайзами и наложением водного знака. Он тоже у меня падал. Так вот, он на 1 метре загружаемого файла жрал 38 метров памяти. При выделяемых 32. Мне разрешили увеличить. Так что... Go Support как минимум, раз нельзя менять в настройках. Или хостинг менять.

Спустя 6 минут, 16 секунд (30.10.2009 - 07:48) Protva написал(а):
Теперь понятно. Попробую хостера подергать.

Спустя 6 дней, 7 часов, 7 минут, 46 секунд (6.11.2009 - 14:56) Protva написал(а):
Выяснил у хостера, что по умолчанию скрипту отводится 64 мгб памяти. Увеличил до 256 мгб, но ошибки при обработке больших фото появляются
все равно.

"Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 13056 bytes) in /home/protva/domains/... on line 457"

В этой строке у меня идет обращение к функции imagecreatefromjpeg.

Что может еще, кроме размера выделенной памяти, вызывать эту ошибку?

Спустя 3 часа, 25 минут, 25 секунд (6.11.2009 - 18:22) kirik написал(а):
Цитата (Protva @ 6.11.2009 - 06:56)
Что может еще, кроме размера выделенной памяти, вызывать эту ошибку?

То, что находится на строке 457.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.