Загрузка фотографий с большим разрешением.

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 4 мая 2011 в 16:26
Прошу сильно не ругать, поднимаю старую тему. Но решения её я так и не нашел.
Проблема в том, что при загрузке фото с большим разрешением, например 3264х2448, выходит страница с ошибкой:

На веб-сайте произошла ошибка при получении neftekamcy.ru/photos/1034/upload. Веб-сайт может быть закрыт на обслуживание или настроен неправильно.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация

Ранее это расценивалось как ошибка загрузки файла на сервер и видел рекомендации проверить разрешенный размер файлов (в мб)и видел рекомендации править .htasses. И в зависимости от хостинга у кого-то ошибка есть, у кого-то нет.
Но, обращаю внимание на размер файла 1,19 мб. И мои настройки хостинга
php_value "upload_max_filesize" "50M"
php_value "post_max_size" "20M"
php_value "memory_limit" "32M"
Хостинг sweb.ru
Во-вторых, файл сам загружается и доступен по ftp. И если бы был превышен объем загрузки или размер файла в мб, выскочила бы ошибка загрузки файла. В Инстанте в коде видел, что это проверяется и выводится ошибка загрузки.
Тут проблема другого рода. Не создаются уменьшенные копии изображения и не добавляется информация в БД.
Может кто решил эту проблему?
Я понимаю, что большие файлы это зло. Но, все прекрасно знают какие сейчас разрешения у фотоаппаратов. И уверен, что процентов 80 пользователей не умеют уменьшать изображения под веб. Для пользователя главное удобство. Чтобы одним кликом. Иначе он уйдет к другим, где можно грузить всё что хочешь. Особенно важно на этапе становления проекта. Позже можно как то это ограничить. Размер файла в мб или дисковое пространство.
Свои соображения. При уменьшении изображения применяются стандартные функции php для работы с графикой. Возможно некорректно работает какая то из них. Второе, процесс создает недопустимую нагрузку на сервер. У меня на хосте выделяется на процесс 32мб оперативки.
Сутки уже бьюсь с проблемой. Не знаю куда копать.
Если советуете обратиться к хостеру, то пожалуйста, изъясните как это сделать. Что предъявлять )
И если уж проблема поднималась много раз, может как то проверять разрешение фоток и выводить сообщение посредством Инстанта. Уже и не знаю чего думать...
Спасибо.
#2 4 мая 2011 в 16:48
похоже не хватает времени на обработку запроса и он отваливается по таймауту. поскольку у вас шаред — ничего не сделать.

фотку он грузит на сервер. здесь допустим времени хватило, далее он должен обработать её наложив вотермарк или сделав уменьшенную копию и тут время вышло и запрос сброшен. на шареде вроде как не увеличить время исполнения php
#3 4 мая 2011 в 17:23
Тоже об этом думал.
max_execution_time стоит 60 и master value и local value. это мало или нормально? у кого работает, можете своё значение показать.
Я так понимаю, раз в мастер стоит 60, я не смогу задать в .htaccess большее время. И может ли хостер увеличить это время?
А может как-то возможно разделить процесс. Сначала один файл грузит допустим. Потом подключает другой файл, который обрабатывает? Можно ли как то обойти нехватку времени. Прошу прощения, пхп со словарем. Своего ума не хватит.
#4 4 мая 2011 в 18:12
хостер ничего не будет менять. а вообще они сильно нужны такие размеры? 10 фоток — 100 метров. это дофига.
#5 4 мая 2011 в 18:54
Я тут подумал, max_execution_time 60, это 60 сек. получается. это столько времени должно пройти после нажатия кнопки отправить. но ошибка выскакивает раньше. буквально несколько секунд. значит дело не в этом. или я не прав?

Поднял проблему, потому что заметил фотки на хосте. примерный вес 3-3,5 мб. а разрешение большое. и на сайте их нет
#6 4 мая 2011 в 19:52
Как вариант, воспользоватся этой Riot программой для сжатия фоток
#7 4 мая 2011 в 20:21

Но, обращаю внимание на размер файла 1,19 мб.

Марат
В пакетном режиме более 30 фото обьемом 1.5 мб 1.7, 3 пакета по 10, нормально залились(ошибок не выдало), Вопрос ?
Профильoll → Фотоальбомы
Нет доступных фотографий, возможно у вас нет прав для просмотра этого альбома.


Ищем на сайте "Копия Фото0094-Копия Фото0091-Копия Фото0096-Фото0094-Фото00104"и созвучные ОНИ ЕСТЬ ИЛИ НЕТ-вот вопрос.
Мне ошибки при загрузке фото не выдало...????
#8 4 мая 2011 в 20:22
Повторюсь… )
Тесты показывают, что GD использует большие объемы памяти при работе с большими изображениями. Так, например, при ограничении на сервере memory_limit = 64M в настройках PHP GD успешно создает эскизы и применяет фильтр резкости sharpen для фотографий размером не более 6 мегапикселей (3008х2000 пикселей). Для 10-мегапиксельных фотографий такого объема уже не хватает. Если ограничение на вашем сервере меньше (например, 32М), то, скорее всего, вам потребуется уменьшать размеры фотографий на вашем компьютере до загрузки их на сервер с помощью клиентских программ.
#9 4 мая 2011 в 20:27
• Mike • прав, GD умирает от нехватки ресурсов при сжатии фотографий. Если вам необходимо работать с такими большими фото — переезжайте на VDS, по другому никак
#10 4 мая 2011 в 20:33
Угу, или нужно переписывать обработчик фотографий на использование Imagick (при наличии оного на хостинге) он меньше “жрёт” памяти…
#11 4 мая 2011 в 20:53
oll, спасибо, что зарегались и потестили даже ) но ваших фоток я на хосте не нашел. и даже занятое дисковое пространство не изменилось. флэш загузчик отдельная тема. он у меня тоже не работал. просто руки еще не доходят. и это не критично, если бы можно было грузить обычным способом.
Mike, Администратор, picaboo спасибо за ответ. понял в чём суть. буду копить на VDS laughа возможна ли обработка на клиентской стороне посредством js? есть ли у js такие возможности?

успел уже отписаться хостеру. посмотрим, что ответят.

пока для себя на сайте сделаю ограничение по размеру в мб. и вывод при превышении лимита ссылки на туториал. придется добавить "Вопросы и ответы". Будем воспитывать юзера под себя laugh
#12 4 мая 2011 в 21:00
Есть еще возможность применять сторонний флеш-загрузчик адаптированный к Инстанту, там можно реализовать возможность изменения размеров на клиентской стороне при выборе фото для загрузки. Нужно искать и пробовать…
#13 4 мая 2011 в 21:09
ок! спасибо большое!
главное знать в какую сторону копать ) буду искать…
буду очень признателен, и даже копейками, если кто сможет сделать такой загрузчик.

как вариант, загружать фото в радикал, и вставлять оттуда. дать туториал пользователям. только не знаю, удаляются ли оттуда фотки. через какое время?

думаю проблема еще не раз поднимется. не все могут позволить себе VDS. как отпишется хостер, тему закрою )
#14 4 мая 2011 в 21:14
/admin/index.php?view=phpinfo
#15 4 мая 2011 в 21:33
тут не столько пхп, сколько еще сами настройки сервера. при Keep alive 15 в apache — просто физически сервер не даст нагрузить себя, сбросит по таймауту.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.