Май
15
2012

Ошибка загрузки медиафайлов с админки в WordPress

Ошибка загрузки медиафайлов с админки в WordPress

На всех блогах, где я обновил WordPress до последней версии 3.3.2 у меня начала появятся ошибка при загрузке изображений в публикацию с помощью обыкновенного и флеш загрузчика. Оказывается, такая ошибка может выскочить в абсолютно любых версиях cms wordpress.

Если я загружаю картинку с помощью обыкновенного загрузчика, то выдает:

Operation timed out after 25 seconds with 0 bytes received

Если пробовать загружать через флеш загрузчик (с его помощью можно одновременно добавить в публикацию несколько изображений), то выдает:

Ошибка HTTP

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

[Tue May 15 18:18:18 2012] [error] [client 21.22.11.30] PHP Warning:  set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /home.ru/wp-content/plugins/disqus-comment-system/disqus.php on line 554

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

На самом деле есть несколько решений этой проблемы.
Мне хватило в файл .htaccess добавить следующий код:



SecFilterEngine Off
SecFilterScanPOST Off


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

Максимальный размер загружаемого файла

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

Ошибка загрузки картинки в админке вордпресс

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

Также можно установить плагин WPlupload или ему подобный и пользоваться альтернативной утилитой для загрузки картинок.

Какой вывод можно сделать со всего этого?

[important]Никогда не спешите обновлять версию WordPress. Во-первых не все разработчики плагинов оперативно вносять изменения в свои продукты, а во-вторых на новых версиях CMS есть много глюков и дыр, которые постепенно фиксят.[/important]

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

VN:F [1.9.22_1171]
Рейтинг: 8.5/10 (голосов: 4)


Метки: , ,
Ошибка загрузки медиафайлов с админки в WordPress, 8.5 out of 10 based on 4 ratings


  • Александр

    Здравствуйте, нашел в логах предупреждение или ошибка не могу понять с чем это связанно PHP Warning:  Invalid argument supplied for foreach() in /functions.php on line 427
    и вот вторая 
    PHP Warning:  in_array() expects parameter 2 to be array, null given in /functions.php on line 436
    Что это за ошибки?
    с Ув Алексанжр

  • А что в файле functions.php в этих строчках прописано?

  • Александр

    Я эти строчки вобще не могу найти в functions.php что нужно именно искать из этого  PHP Warning:  Invalid argument supplied for foreach() in /functions.php on line 427 и из этого PHP Warning:  in_array() expects parameter 2 to be array, null given in /functions.php on line 436 всю строку?

  • Качаем файл functions.php текущей темы по фтп на свой компьютер с хостинга. Открываем его notepad++. Смотрим код в строчках 427 и 436.

  • Александр

    Спасибо! Вот что я нашел 

    Search «436» (0 hits in 0 files)Search «427» (0 hits in 0 files)

  • Александр

    Я вам не то написал, вот строка под номером 436 if ( !in_array( $link_test, $pung ) ) { // If we haven’t pung it already
    а вот строка под номером 427     foreach ( $pung as $link_test ) {
    Что это значит?

  • точно тот файл functions.php скачали по адресу /wp-content/themes/вашатема/functions.php

  • Александр

    Да точно, что эти строки означают?

  • Алексей

    Помогите! Обновился до версии 3.5 и при добавлении медиафайла в запись библиотека не видит файлов и не могу добавить новый(выдает ошибку загрузки). Может знаете в чем дело.

Читайте, не отвлекайтесь! =)

© Интернет дом ленивца - личный блог о сео, смо, сайтостроению. Построен на небольших заметках автора. Копирование материалов без активной ссылки на darmoid.ru запрещается и преследуется законом об авторском праве!
Вверх!