#php #wordpress #upload #media
#php #wordpress #загрузка #Медиафайлы
Вопрос:
Моему клиенту необходимо загрузить изображения с высоким разрешением для ее онлайн-пресс-кит.
Она получает эту ошибку: «Постобработка изображения не удалась, вероятно, потому, что сервер занят или ему не хватает ресурсов. Может помочь загрузка изображения меньшего размера. Рекомендуемый максимальный размер — 2500 пикселей «.
Размер изображений, которые она хочет загрузить, составляет около 2,5 МБ и составляет 4272 x 2848 с разрешением 72 точек на дюйм.
Если я обрезаю изображения размером 2500×1667 при 72dpi, они загружаются нормально (в соответствии с рекомендуемым максимальным размером 2500 пикселей.)
Есть ли способ разрешить изображения большего размера в пикселях, как указано выше (4272 x 2848)?
Я не уверен, в каком параметре php проблема — я думаю, что это может быть размер памяти, но если это так, я не уверен, где его изменить или на какую величину установить, чтобы разрешить удвоение максимального размера пикселя (от 2500 до 5000 пикселей). скажем)… или, если это вообще разрешено.
Любая помощь будет оценена.
Вот мои системные данные:
- Версия WordPress: 5.5.1
- Версия MySQL: 5.6.41
- Версия начальной загрузки: 3.3.1
- Версия PHP 7.3.22 (поддерживает 64-битные значения)
- PHP max входные переменные 1000
- Ограничение по времени PHP 30
- Ограничение памяти PHP 256M
- Максимальное время ввода 60
- Максимальный размер загружаемого файла 256M
- Максимальный размер сообщения PHP 260M
Спасибо!
Ответ №1:
Я столкнулся с этой проблемой. Отключение big_image_size_threshold
не исправило это. Я думаю, что моя проблема в том, что после обновления до PHP 7.4 версия ImageMagick, работающая на моем хосте для PHP 7.4, плохая или что-то в этом роде. Я исправил проблему, используя GD вместо ImageMagick. Просто добавьте это в functions.php
:
add_filter('wp_image_editors', function($editors) {
return ['WP_Image_Editor_GD', 'WP_Image_Editor_Imagick'];
});
Следует отметить одну вещь: если у вас не установлен GD, WP по умолчанию вернется к использованию Imagick. Так что при внесении этого изменения риск невелик. Хотя, если это не решит проблему, вы можете проверить, действительно ли установлен GD.
Ответ №2:
Вы можете использовать big_image_size_threshold
фильтр, чтобы изменить или отключить это поведение.
https://developer.wordpress.org/reference/hooks/big_image_size_threshold/
Если ширина или высота исходного изображения превышают пороговое значение, оно будет уменьшено. Пороговое значение используется как максимальная ширина и максимальная высота. Уменьшенное изображение будет использоваться как самый большой доступный размер, включая мета-значение _wp_attached_file post .
Возврат false из обратного вызова фильтра отключит масштабирование.
Комментарии:
1. Спасибо @ 04FS, это помогло мне. Однако, просто к сведению, до того, как я внедрил это изменение, когда я пытался загрузить файлы большего размера, они действительно загружались, но они отображались в библиотеке мультимедиа в виде значка пустого изображения. Если вы нажали на нее, вы получили страницу сведений о вложении, но вы не смогли вставить изображение ни на одну страницу. Но если вы хотите создать ссылку на изображение, вы можете использовать URL-адрес файла, указанный на странице сведений. Итак, он был там в полном размере, просто не очень удобен для использования! Приведенное выше объяснение, похоже, не соответствует тому, что я видел.. изображение не было уменьшено.
2. Для людей, ищущих использование, вот как я ввел его в свой functions.php файл: функция td_big_image_size_threshold( $threshold, $imagesize, $file, $attachment_id ) { возвращает 5000; } add_filter( ‘big_image_size_threshold’, ‘td_big_image_size_threshold’, 10, 4 );
Ответ №3:
Этот проверенный ответ не сработал для меня
Ошибки apache2 всегда должны быть в вашем
/var/log/apache2/error.log
Таким образом, вы можете легко определить проблему.
Я исправил это сам:
sudo apt-get install php-mbstring
sudo service apache2 restart
Смотрите Этот пост, для этого есть много решений: Ссылка
Ответ №4:
Я столкнулся с этой же проблемой и боролся с ней почти целый день, пытаясь найти ответы с этой страницы и из этой темы WordPress: https://wordpress.org/support/topic/post-processing-of-the-image-failed-error /
В конце концов, для меня проблема была решена тем, что я перешел на страницу обновлений WordPress и просто переустановил WordPress — с тех пор все было в порядке.
Я запускаю сеть на WP версии 5.7 с php 7.3
Ответ №5:
Основной пример: если вы используете какой-либо плагин в WordPress для сжатия изображений, то это происходит в моем случае, я использовал WP Compress в WordPress, я получаю большую часть этой ошибки при загрузке изображения, в конце концов, я деактивирую этот плагин и исправил проблему.