XF 2.2 Загрузка GIF с ошибкой

Статус
В этой теме нельзя размещать новые ответы.
Версия XenForo
2.2.8

TeaZik

Заблокирован
Сообщения
124
Решения
1
Реакции
12
Баллы
50
Здравствуйте, делал всё по туториалам xenforo.info, но гиф загружается с ошибкой. Посоветовали увеличить PHP max_execution_time но ничего не помогает. Скрины ниже.
Screenshot_1707.png
Screenshot_1708.png
Screenshot_1709.png
 
Здравствуйте, делал всё по туториалам xenforo.info, но гиф загружается с ошибкой. Посоветовали увеличить PHP max_execution_time но ничего не помогает. Скрины ниже.
Посмотреть вложение 138671
Посмотреть вложение 138672
Посмотреть вложение 138673
Хостинг смени
 
Там в другом проблема. У меня когда-нибудь руки дойдут написать про это баг на оф, но если вкратце...
Когда пользователь заливает аватарку, движок пытается тут же:
  • Создать миниатюры
  • Оптимизировать слои (выкинуть дублирующиеся) из файла:
Написать дополнение, которое переопределит это поведение, легко нельзя: граф. драйвера (ImageMagick/GD) просто не расширяются.

Я в своё время эксперимента ради пробовал оптимизировать этот механизм, когда ко мне обратился человек с моего форума, который так же пытался загрузить гифку (8 метров размером), и форум уходил в нокаут:
  • Выкидывал повторное чтение изображения, осуществляя клонирование уже прочитанных данных об изображении. Ксеня зачем-то при формировании миниатюр снова и снова осуществляет разбор картинки, хотя по сути можно просто реализовать магический метод __clone() и буквально клонировать данные о разобранном изображении.
    Это помогает выиграть на гифках, по моим приблизительным подсчётам, около секунды. На статических (.png/.jpg) прирост несущественный.
  • Убирал формирование миниатюр для гифок в принципе. Это тоже даёт прирост, тоже небольшой. Конкретную цифру найти не смог, и не помню. Проверю ещё раз, если руки дойдут, и отпишу тут же.
  • Убирал оптимизацию слоёв. Это самый тяжёлый этап. По моим тестам, буквально, виновником долгой обработки изображений почти во всех случаях является именно он. И если выкинуть оптимизацию слоёв, то сам процесс ускоряется очень сильно.
По моему скромному мнению, разрабам движка нужно выкинуть последний этап для гифок вообще, потому что я пробовал отдельно этой функции граф драйвера кормить изображения разной сложности, и на гифках ImageMagick в 90% случаев возвращал ошибку оптимизации, при этом пытаясь совершить эту самую оптимизацию на протяжении продолжительного времени. Ошибка выплёвывается даже если разрешить PHP "понаглеть", и дать ему право обрабатывать запрос бесконечно долго. Возможно, что это косяк самого ImageMagick расширения в пыхе, но не уверен.
 
Последнее редактирование:
да, идея супер. А если нормально помочь?
Нормально и6
Там в другом проблема. У меня когда-нибудь руки дойдут написать про это баг на оф, но если вкратце...
Когда пользователь заливает аватарку, движок пытается тут же:
  • Создать миниатюры
  • Оптимизировать слои (выкинуть дублирующиеся) из файла:
Написать дополнение, которое переопределит это поведение, легко нельзя: граф. драйвера (ImageMagick/GD) просто не расширяются.

Я в своё время эксперимента ради пробовал оптимизировать этот механизм, когда ко мне обратился человек с моего форума, который так же пытался загрузить гифку (8 метров размером), и форум уходил в нокаут:
  • Выкидывал повторное чтение изображения, осуществляя клонирование уже прочитанных данных об изображении. Ксеня зачем-то при формировании миниатюр снова и снова осуществляет разбор картинки, хотя по сути можно просто реализовать магический метод __clone() и буквально клонировать данные о разобранном изображении.
    Это помогает выиграть на гифках, по моим приблизительным подсчётам, около секунды. На статических (.png/.jpg) прирост несущественный.
  • Убирал формирование миниатюр для гифок в принципе. Это тоже даёт прирост, тоже небольшой. Конкретную цифру найти не смог, и не помню. Проверю ещё раз, если руки дойдут, и отпишу тут же.
  • Убирал оптимизацию слоёв. Это самый тяжёлый этап. По моим тестам, буквально, виновником долгой обработки изображений почти во всех случаях является именно он. И если выкинуть оптимизацию слоёв, то сам процесс ускоряется очень сильно.
По моему скромному мнению, разрабам движка нужно выкинуть последний этап для гифок вообще, потому что я пробовал отдельно этой функции граф драйвера кормить изображения разной сложности, и на гифках ImageMagick в 90% случаев возвращал ошибку оптимизации, при этом пытаясь совершить эту самую оптимизацию на протяжении продолжительного времени. Ошибка выплёвывается даже если разрешить PHP "понаглеть", и дать ему право обрабатывать запрос бесконечно долго. Возможно, что это косяк самого ImageMagick расширения в пыхе, но не уверен.
На пхпбб3 гифка отлично грузится, пробовал
 
Потому что GD и Imagick говно библиотеки, которые медленно обрабатывают гиф изображения.
У нас на проде стоял Imagick, он обрабатывает одну гифку 10 секунд, а обработать надо три размера (l, m, s), что занимает 30 секунд.
Мы перешли на libvips, а разработчики XF особо не торопятся использовать норм библиотеки.
 
grisha2217, Ты же должен понимать, что для рядового пользователя вариантов нет. Хорошо что есть Imagick, который можно из репозитория поставить. Все, по сути.
 
grisha2217, Ты же должен понимать, что для рядового пользователя вариантов нет. Хорошо что есть Imagick, который можно из репозитория поставить. Все, по сути.
Да, libvips по умолчанию не установлен на сервере, но думаю, можно найти альтернативы, например FFmpeg
 
grisha2217, CrazyHackGUT, вообще вы хорошую тему подняли, создал бы кто статью о том что делать и как облегчить себе жизнь с примерами использования сторонних библиотек и как установить. Цены бы вам небыло.
 
grisha2217, а ffmpeg установлен что-ли по-умолчанию на сервере? Странная какая-то альтернатива, не?
libvips сложнее устанавливается, чем ffmpeg (не через apt-get, а вручную сборка), Imagick на сервере тоже не установлен по умолчанию))
 
он тебе не ответит, так как ему все это делает администратор сервера, Но суть то в другом как заставить форум работать с той библиотекой что ты поставил? ведь форум понимает только
2023-01-22_02-23-15.png
И все остальное он просто не воспримет. Вы вместо того чтобы письками мерится, лучше бы на примере показали как расширить все это, не?
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу