Как исправить ошибку HTTP При загрузке Изображений?


Я использую WordPress 3.4.1 на Ubuntu 12.04, используя Apache и PHP 5.3.X

Когда я вхожу в панель мониторинга и добавляю новую запись. Затем попробуйте загрузить изображение, чтобы установить его в качестве отличительного изображения, я получаю красное поле с сообщением "Ошибка HTTP".

Я читал о людях, которые советуют не использовать загрузчик flash, а просто использовать загрузчик браузера, но когда я пытаюсь это сделать, я просто получаю 500 внутренних ошибок сервера.

Я попытался добавить AddType x-mapp-php5 .php в верхней части моего .htaccess файл, без каких-либо изменений.

Отключение ВСЕХ плагинов не возымело никакого эффекта. Я попробовал новую установку. Не повезло.

Обновление 17.10.2016 - Если вы используете пользовательские роли или возможности, пожалуйста, попробуйте использовать собственную роль/возможности и повторите попытку.

Что следует учитывать при проверке:

  • Владелец файла
  • Права доступа к файлам
  • .конфигурация htaccess
  • Версия PHP 7+
  • Текущая версия WordPress

Если вы работаете за прокси-сервером, убедитесь, что у вас правильно настроены тайм-ауты прокси-сервера.

WordPress 3.4.1 Media Upload HTTP Error

Author: Michael Ecklund, 2012-07-26

6 answers

Я поместил следующий код в свой файл functions.php. Это работает!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

Когда это помогает, это происходит потому, что он изменяет модуль кода PHP, используемый для обработки загруженного изображения для использования с WordPress.

Эта обработка включает перемещение изображения в базу данных библиотеки мультимедиа и создание изображений разного размера ("миниатюра", "средний", "большой"), которые WordPress всегда хочет предоставить для доступа к темам.

Это приводит к использованию модуля "GD", потому что он первый. В некоторых настройках сервера новая библиотека "Imagick" плохо сочетается с другими для определенных сценариев изображения, таких как большие размеры пикселей, поэтому использование библиотеки "GD" является исправлением.

 27
Author: Allen, 2019-06-08 13:31:56

После устранения неполадок с @Wyck в чате мы сузили круг до основной проблемы.

Проблема была связана с тем, что в моей конфигурации сервера не было достаточного объема памяти, выделенного для Apache/PHP.

Если у кого-то есть такая же проблема, пожалуйста, попробуйте проверить, достаточно ли (64 МБ+) памяти сервера, выделенной для Apache/PHP в настройках конфигурации вашего сервера. Вы также можете добавить это в свой wp-config.php файл:

define('WP_MEMORY_LIMIT', '64MB');

Если приведенное выше решение делает не работает, читайте статью Проблемы с загрузчиком изображений/Мультимедиа? для дальнейшего устранения неполадок.

Попробуйте добавить одну за другой или все следующие настройки .htaccess в файл.htaccess в корневом каталоге вашей установки WordPress.

Серьезно, попробуйте одно из приведенных ниже решений, чтобы вы знали, какое из них помогло. Не вставляйте их все сразу в свой файл .htaccess.

Попробуйте следующую строку:

AddType x-mapp-php5 .php

Mod_security может быть вызывающий проблемы. Отключите его, чтобы узнать, в этом ли проблема. Для этого создайте файл .htaccess в каталоге wp-admin. Добавьте к этому следующее:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

Если вы используете управление доступом на основе аутентификации на своем веб-сервере (часто известное как htpasswd, базовая аутентификация, каталог, защищенный паролем, или подобное), WordPress не сможет обработать его для загрузчика Flash, Cron и XMLRPC. Для работы необходимо исключить связанные файлы. Имейте в виду, что это может нарушить вашу безопасность соображения.

# Exclude the file upload and WordPress CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

Последнее замечание: некоторые говорят, что при использовании меньшей версии PHP 5.3.X вы можете попробовать отключить безопасный режим PHP.

Если вы используете WordPress с несколькими сайтами и получаете ошибки HTTP или внутренние ошибки сервера, связанные с загрузкой изображений, пожалуйста, прочитайте Загрузка изображений на несколько сайтов Приводит к ошибке HTTP) для других возможных идей и решений по устранению неполадок.

 22
Author: Michael Ecklund, 2019-06-08 13:33:06

Я столкнулся с той же ошибкой при попытке загрузить медиа в wordpress. В Chrome это отображается как ошибка http:; в Firefox ошибка выглядит совсем по-другому. В Интернете полно историй о людях, которые потратили дни на поиск ошибки (как и я:-(). Решений предостаточно, но никто не объясняет, почему, по крайней мере, не так, чтобы это соответствовало симптомам.

Мой вклад, достойный двух пенсов: Я заметил, что проблема связана с ошибкой сегментации, о которой сообщается в файле журнала апач2. Это меня беспокоит, потому что это трудно диагностировать.

Перезагрузка всего сервера устранила все симптомы, и внезапно я снова смог загружать мультимедиа в Wordpress. К сожалению, я понятия не имею, почему это происходит. Перезагрузка фактически остановила меня от дальнейших исследований, и теперь мне придется ждать (недели? месяцев?) чтобы проблема снова возникла. Я надеюсь, что это поможет другим в их поисках причины этой проблемы. Однако моя жена счастлива, потому что я не могу дольше проводите ночи в погоне за этой проблемой...

 4
Author: Stef Joosten, 2014-05-30 19:19:02

Я решил эту проблему, сменив своего владельца с root на apache, как показано ниже.

chown -R apache:apache /var/www/html/mydomain

И затем я изменил разрешение wp-content/uploads/ на 775.

После этого я попытался загрузить изображение в СМИ. Мне удалось загрузить изображение.

 1
Author: imran, 2019-10-04 21:07:35

У меня была та же проблема. Я пробовал различные исправления, включая изменение процессора изображений по умолчанию с PHP GD на ImageMagick с помощью плагина Force Image Magick

Это помогло с ошибкой HTTP/ошибкой 500, но миниатюры больше не создавались. Затем я снова деактивировал плагин, и тогда мне помог этот ответ на вопрос Похоже, что изменение размера изображения плохо работает. Мой PHP_MEMORY_LIMIT был установлен в 160MB, что является абсолютным максимумом мой хостер позволяет.

Для загрузки изображений это привело к максимально возможным размерам изображения около 6000 x 6000 px при использовании PHP GD и создании эскизов. Поэтому важно проверять не только размер файла, но и размеры изображения. Загрузка изображения с большими размерами привела к ошибке HTTP/ошибке 500 даже при небольших размерах файлов.

 0
Author: intagli, 2018-03-29 16:15:49

Я сталкивался с такой проблемой много раз и решал ее, увеличивая memory_limit = 256M в php.ini ИЛИ добавляя define( 'WP_MEMORY_LIMIT', '256M' ); в файл wp-config.php (*При необходимости вы можете увеличить объем памяти больше, чем 256M) большую часть времени.

Другим возможным решением может быть предоставление разрешения \wp-content\uploads\ папке; команда: chmod -R 0755 wp-content\uploads\.

Надеюсь, это тоже поможет вам.

 0
Author: rony2k6, 2019-10-07 05:07:47