Что такое ошибка http. Типичные ошибки и проблемы WordPress

18.04.2019

Может возникнуть ошибка «http». Многие после этого начинают анализировать свои последние действия, произведённые в WordPress, но большинство просто ума не приложат, что произошло, ведь ничего «плохого» вроде не делалось. Если просмотреть ответы в интернете на вопрос «почему выдает ошибку http при загрузке изображений», то можно найти несколько рекомендаций, которые способны устранить эту ошибку.

Рекомендации, которые помогут устранить ошибку при загрузке изображений «http»

Первая рекомендация – просмотреть весь список установленных плагинов и отключить все ненужные. Потребуется также отключить все плагины и включать их по одному, после чего смотреть действие их работы на вашу площадку. Таким образом, может быть заработает загрузка фото, но далеко не факт, что сможете обнаружить именно тот плагин, который выдает ошибку. Если есть время и терпение – испробуйте эту рекомендацию, но нам она показалась слишком хлопотной, поэтому мы оставили этот вариант про запас.

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

Тут также заметим, что не всегда рационально обновляться до версии, которая только-только вышла.

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

Четвертый совет – добавить в файл.htaccess такой код:

SecFilterEngine Off
SecFilterScanPOST Off

Размещать вышеуказанный код необходимо в конец или начало файла, после чего все может начать работать.
Следующий совет – вставить в файл.htaccess код, при помощи использования FTP-загрузчика:



SecFilterEngine Off
SecFilterScanPOST Off

Заметим, что если уже такой код у вас есть в файле, то его потребуется переписать, то есть заменить новым. Попробуйте выполнить загрузку медиафайла сейчас; более того, загружать файлы вы сможете в неограниченном количестве. Мы неоднократно замечали, что в одном случае, если вставить код в начало файла, то все будет работать; при вставке кода на другом сайте в начало файла ничего не срабатывало, но все начинало работать, как только код был перемещен в конец файла.

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

Еще одна рекомендация – установка плагина WPupload, которая заменяет по дефолту загрузчик WordPress на новый (он поддерживает HTML5, Flash, BrowserPlus и т.п.). Впрочем, новый плагин может добавить и новых проблем на сайте, но, во всяком случае, он устранит эту ошибку при загрузке изображений «http».

Из всего вышесказанного следует простой вывод: если хотите, чтобы ваш сайт стабильно работал, не спешите с . Новая версия хоть и обещает быть более функциональной и безопасной, но сторонние разработчики не всегда успевают оптимизировать под новые версии свои продукты (из-за этого и может выскакивать ошибка «http»).

В WordPress Ошибка HTTP – это сигнал о том, что что-то пошло не так во время загрузки файла. Обычно ошибка HTTP в WordPress возникает тогда, когда вы пытаетесь добавить изображение и другие типы файлов в медиа библиотеку. Это руководство раскрывает 9 проверенных решений для этой проблемы. Давайте начнём!

9 простых путей для решения ошибки HTTP в WordPress

Давайте рассмотрим возможные решения ошибки HTTP при загрузке изображений в WordPress. “ти решения также будут работать и в случае загрузки видео, PDF-файлов или любого другого типа файлов, которые поддерживает WordPress .

Решение 1: Подтвердить ошибку HTTP

Иногда, временные сложности на сервере могут привести к ошибке HTTP в WordPress. Прежде чем вы попробуете любое другое решение из этой статьи, убедитесь ещё раз присутствует ли эта ошибка.

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

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

Решение 2: Сменить браузер

Возможно, ошибка HTTP в WordPress не связана с сайтом и может быть результатом чего-то менее ожидаемого – вашего браузера.

Часто сообщения об ошибке HTTP появлялись при использовании Google Chrome. Хотя это отличный браузер, переход на другой позволяет вам подтвердить, связана ли проблема с браузером.

Если проблема не ушла, переходите к другим шагам ниже.

Решение 3: Отключение плагинов

Если ошибка HTTP появилась после установки плагина WordPress, лучшим решением будет деактивировать его. Чтобы немного упростить задачу выявления плагина, как известно, часто плагины оптимизации изображений вызывают эту проблему. Таким образом, если у вас есть плагин оптимизации изображения, временно отключите его и попробуйте загрузить изображение ещё раз.

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

Однако, если ошибка сохраняется даже после отключения всех плагинов, перейдите к более подробному решению, представленному ниже.

Решение 4: Увеличение значения ограничения памяти в WordPress (Memory Limit)

Частой причиной ошибки HTTP в WordPress является нехватка памяти. Это может также привести к многим другим вопросам, таким как . Исправить причину нехватки памяти можно в файле wp-config.php добавив строку:

define ("WP_MEMORY_LIMIT", "256M");

Вышеприведенный код увеличивает ваши ограничения памяти PHP до 256 МБ. Прежде чем добавлять его, проверьте максимальный доступный предел памяти на вашем сервере

Решение 5: Сделайте GD Library своим редактором изображений по умолчанию

А вы знали, что в WordPress доступно два редактора изображений? Это так, WordPress использует либо Imagick, либо GD Library для обработки изображений. Несмотря на то, что они оба хороши, Imagick известен тем, что использует всю доступную память и следом за этим вызывает ошибку HTTP.

Чтобы обойти эту проблему, вам нужно сделать GD Library своим редактором по умолчанию. Как? Просто добавьте этот код в файл functions.php вашей темы:

Function hs_image_editor_default_to_gd($editors) { $gd_editor = "WP_Image_Editor_GD"; $editors = array_diff($editors, array($gd_editor)); array_unshift($editors, $gd_editor); return $editors; } add_filter("wp_image_editors", "hs_image_editor_default_to_gd");

Сохраните изменения и попробуйте снова загрузить изображение. Если ошибка HTTP сохраняется, верните изменение кода и попробуйте следующее решение.

Решение 6: Редактирование.htaccess

Файл .htaccess находится в корне вашего каталога WordPress и выполняет функцию охраны от разных вещей. Он контролирует запросы и ряд других функций.

Чтобы исправить ошибку HTTP в WordPress, откройте .htaccess и добавьте следующий код:

SetEnv MAGICK_THREAD_LIMIT 1

После этого попытайтесь снова добавить файл, чтобы узнать, исправлена ли проблема. Если это не сработало, есть ещё несколько фрагментов кода, которые вы можете проверить:

SecFilterEngine Off SecFilterScanPOST Off

# Exclude the file upload and WP CRON scripts from authentication Satisfy Any Order allow,deny Allow from all Deny from none

Попробуйте выполнить их по отдельности, сохраните изменения и снова загрузите медиа-файл.

Решение 7: Проверьте свою тему

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

Если всё работает хорошо с темой по умолчанию, попробуйте связаться с разработчиками текущей темы. В этом случае ошибка HTTP могла быть вызвана проблемой темы или несовместимостью между темой и плагином.

Решение 8: Проверьте версию PHP

Заключение

Видите ошибку HTTP при загрузке медиа в WordPress? Эта ошибка обычно возникает, когда вы загружаете изображение или другие файлы в WordPress с помощью встроенного загрузчика мультимедиа. В этой статье мы покажем, как легко исправить ошибку загрузки изображения HTTP в WordPress.

Что вызывает ошибку HTTP во время загрузки в WordPress?

Есть ряд вещей, которые могут привести к ошибке HTTP при попытке загрузить файлы с помощью медиа-загрузчика WordPress. WordPress не может понять причину, и поэтому он отображает общее сообщение об ошибке «HTTP error».

Плохо то, что это сообщение об ошибке не дает вам никаких указаний относительно того, что могло вызвать это. Это означает, что вам придется попробовать разные решения, чтобы найти причину и исправить ошибку.

При этом мы рассмотрим, как устранить ошибку HTTP во время загрузки мультимедиа в WordPress.

1. Убедитесь, что HTTP-ошибка не временная

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

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

Если все эти шаги приводят к ошибке HTTP, это означает, что ошибка не вызвана временным сбоем и определенно требует вашего непосредственного внимания.

2. Увеличьте предел памяти WordPress

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

Вы можете сделать это, добавив следующий код в файл wp-config.php.

1 define("WP_MEMORY_LIMIT", "256M");

Этот код увеличивает предел памяти WordPress до 256 МБ, что достаточно для устранения проблем с ограничениями памяти.

3. Измените библиотеку редактора изображений, используемую WordPress

WordPress работает на PHP, который использует два модуля для обработки изображений. Эти модули называются GD Library и Imagick. WordPress может использовать любой из них, в зависимости от того, какой из них доступен.

Тем не менее, Imagick, как известно, часто сталкивается с проблемами памяти, вызывающими ошибку HTTP во время загрузки изображений. Чтобы исправить это, вы можете сделать библиотеку GD своим модулем изображений по умолчанию.

Вы можете сделать это, просто добавив этот код в файл functions.php вашей темы или плагин для конкретного сайта.

1 function wpb_image_editor_default_to_gd($editors) { 2 $gd_editor = "WP_Image_Editor_GD"; 3 $editors = array_diff($editors, array($gd_editor)); 4 array_unshift($editors, $gd_editor); 5 return $editors; 6 } 7 add_filter("wp_image_editors", "wpb_image_editor_default_to_gd");

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

4. Использование метода.htaccess

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

Легким решением является добавление следующего кода в ваш файл.htaccess:

1 SetEnv MAGICK_THREAD_LIMIT 1

Этот код просто ограничивает Imagick одним потоком для обработки изображений.

Возникновение ошибки «HTTP error» при работе в WordPress может быть вызвано целым рядом причин. Перечислю лишь те, с которыми сталкивался сам, и те эффективные решения, которые были опробованы мной. Я не буду разжевывать все в виде подробного мануала для совсем начинающих веб-мастеров. Рассчитываю на более подготовленного читателя и самого себя, для которого публикую эту серию постов по администрированию WordPress в качестве блокнота на случай внезапно посетившего меня склероза.) В сети полно специализированных ресурсов, где вам все подробно разжуют и распишут в деталях. Я такой задачи себе не ставил. Итак…

Я в своей практике я привык пользовать linux в виде Centos в качестве системной платформы своего web-сервера, поэтому указанные пути и директории расположение конфигурационных файлов применительны именно к этой системе. Не брезгую я менять настройки и через активно пользуемую мной панель управления сервером ISP manager.

В первую очередь, при возникновении такой ошибки наиболее разумно будет посмотреть log ошибок web-сервера. Ищем свежие строчки, в которых упоминаются PUT, GET и POST запросы и читаем их внимательно. Как правило это дает направление, в котором нужно искать решение.

Наиболее частые причины ошибки HTTP (возможна и их комбинация)…

Разрешение загружаемого фото больше допустимого

На собственном опыте заметил, что ошибка может возникать, если ширина загружаемого фото превышает величину, указанную в качестве ширины для формата изображения «Крупный размер» («Large size») в «Настройки — Медиафайлы». Меняем на меньший и пробуем. Я лично для себя выбрал максимальный достаточный размер для публикуемых фото — 1280х720px. Если вы используете свой WordPress для создания фотопортфолио, то тут уже надо исходить из собственных требований к качеству публикуемого фотоматериала.

Следует помнить, что создание копий изображений в разных разрешениях происходит на этапе загрузки файла. Поэтому при изменении предустановленных размеров, пользуйтесь плагинами для regenerate thumbnails (пересоздания миниатюр).

Возможно в моей практике данная причина возникновения http error не была единственной, а шла вкупе с более известными и привычными.

Объем загружаемого файла больше допустимого в настройках PHP

Стандартная история. Тут вариантов решения много…

Если хостинг позволяет вносить правки в php.ini, то ищем в нем две директивы и меняем их значение на подходящее, например 32Мб:

Upload_max_filesize = 32M post_max_size = 32M

Второй параметр определяет максимальный размер POST-запросов, который должен быть равен или быть больше максимального размера файлов.

Не забываем перегрузить web-сервер Apache через панель или SSH командой:

service httpd restart

Если доступа к php.ini нет, пробуем то же самое прописать через.htaccess в корне вашего WordPress:

Php_value upload_max_filesize 32M php_value post_max_size 32M

Если вы пользуете в качестве web-сервера на Apache, а Nginx, то насколько я помню nginx не понимает.htaccess, но поменять настройки PHP можно через конфигурационный файл nginx.conf. Если PHP настроен как FastCGI клиент, то это делается через директиву fastcgi_param:

Fastcgi_param PHP_VALUE upload_max_filesize=32M; fastcgi_param PHP_VALUE post_max_size=32M;

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

Не забываем после внесения изменений в конфигурационные файлы nginx или Apache перезагрузить службу через панель управления или через SSH командами типа:

service nginx restart service httpd restart

Ну и последний вариант — попробовать расширить возможности PHP непосредственно из конфигурационного файла вашего WordPress с помощью функции ini_set():

Ini_set("upload_max_size", "32M"); ini_set("post_max_size", "32M");

В WordPress есть специальный фильтр upload_size_limit используемый в функции wp_max_upload_size().

Этот фильтр отвечает за максимальный размер загружаемых файлов. Значение по умолчанию - наименьшее из upload_max_filesize и post_max_size из файла php.ini, и использовать данный фильтр, можно только в пределах этого значения.

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

Уменьшить максимальный размер загружаемых файлов можно через фильтр в functions.php вашей темы:

Add_filter("upload_size_limit", "16M");

Ошибка client intended to send too large body

Если в логах nginx (/var/log/nginx/error.log) мы видим ошибку типа:

XXXX#0: *XXXXXXXXXX client intended to send too large body: XXXXXXX bytes, client: XX.XXX.XXX.XX, server: XXXXX, request: «POST /engine/ajax/upload.php HTTP/1.1», host: «XXX.com»

то это верный признак того, что надо увеличить значение директивы client_max_body_size в конфигурационном файле nginx.conf в блоке http {}.

Делаем это через панель управления или через SSH и редактор VI например:

# vi /etc/nginx/nginx.conf client_max_body_size 100M; # service nginx reload

Выход из редактора VI осуществляется командами:wq с сохранением содержимого или:q (:q!) без сохранения.

Директива client_max_body_size задаёт максимально допустимый размер тела запроса клиента, указываемый в поле “Content-Length” заголовка запроса. Если размер больше заданного, то клиенту возвращается ошибка 413 (Request Entity Too Large). Следует иметь в виду, что браузеры не умеют корректно показывать эту ошибку. Установка параметра размер в 0 отключает проверку размера тела запроса клиента.

Еще варианты борьбы с http error через.htaccess

Вставляем в конец.htaccess файла следующий код:

SecFilterEngine Off SecFilterScanPOST Off

Мне сложно объяснить сакральный смысл данного кода, но иногда помогает.

Также лично на своем опыте убедился в действенности еще одной волшебной директивы, которую надо вставить в самое начало.htaccess:

SetEnv MAGICK_THREAD_LIMIT 1

В моей практике это однажды решило проблему, когда ошибка http вылетала при попытке загрузить файл более 1Мб, несмотря на все прописанные гораздо большие максимально допустимые объемы загружаемого файлов и команды способами описанными

Конфликт плагинов

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

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

Добрый день!

При загрузке медиафайлов появляется ошибка HTTP . Как ее исправить?

Ответ

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

Есть несколько причин, которые могут привести к ошибке HTTP при попытке загрузить файлы с помощью медиазагрузчика WordPress. В принципе, WordPress не может понять причину, и поэтому он отображает общее сообщение об ошибке.

Для решения задачи существует несколько способов. Рассмотрим их более подробно.

Способ 1. Убедитесь, что ошибка HTTP не временная

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

Если все эти шаги все равно приводят к ошибке, это означает, что ошибка не вызвана временным сбоем и определенно требует вашего непосредственного внимания.

Способ 2. Увеличьте предел памяти WordPress

Наиболее распространенной причиной этой ошибки является нехватка памяти для использования WordPress. Чтобы исправить это, Вам нужно увеличить объем памяти, который PHP может использовать сервере. Это можно сделать, добавив следующий код в основной конфигурационный файл wp-config.php :

Define ("WP_MEMORY_LIMIT", "256M");

Этот код увеличивает предел памяти WordPress до 256 МБ, чего будет достаточно для устранения проблем с ограничениями памяти.

Способ 3. Измените библиотеку редактора изображений, используемую WordPress

WordPress работает на PHP , который использует два модуля для обработки изображений. Эти модули называются GD Library и Imagick . “Движок” может использовать любой из них, в зависимости от того, какой из них доступен.

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

Для этого необходимо добавить этот код в файл functions.php Вашей темы:

Function wpschool_image_editor_default_to_gd($editors) { $gd_editor = "WP_Image_Editor_GD"; $editors = array_diff($editors, array($gd_editor)); array_unshift($editors, $gd_editor); return $editors; } add_filter("wp_image_editors", "wpschool_image_editor_default_to_gd");

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин .

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

Способ 4. Использование метода.htaccess

Этот метод позволяет Вам контролировать, как Imagick использует серверные ресурсы. Многие хостинг-провайдеры ограничивают способность Imagick использовать несколько потоков для более быстрой обработки изображений. Однако это приведет к появлению ошибки HTTP при загрузке изображений. Простой способ исправить это — добавить следующий код в файл .htaccess , который находится в корневом каталоге сайта:

SetEnv MAGICK_THREAD_LIMIT 1

Этот код просто ограничивает модель Imagick одним потоком для обработки изображений.