Проблемы с загрузкой изображений — довольно распространенное явление в WordPress. Они часто характеризуются невозможностью загрузить изображения или тем, что в галерее изображений WordPress отображаются пустые изображения (это касается и постов WordPress).
Ошибка загрузки изображения может возникнуть неожиданно, а в некоторых случаях и после внесения некоторых изменений на сайт. Решение проблемы загрузки зависит от типа возникающей ошибки.
Самые распространенных проблемы:
- Когда не удается загрузить определенный файл
- Ошибки, связанные с размером файла
- Когда в галерее или в постах появляются пустые изображения
- Когда при загрузке возникает ошибка WordPress HTTP.
Невозможно загрузить определенный файл
Если при загрузке определенного файла возникает ошибка, попробуйте следом загрузить другой файл. Если второй файл загрузится успешно, значит, проблема связана с первым файлом и это логично 🙂 Есть два простых решения для устранения этой проблемы:
Решение № 1: Изменить размер изображения
Часто причиной невозможности загрузить определенный файл в WordPress является слишком большой размер изображения. Единственный способ исправить ситуацию — изменить размер изображения, сделав его меньше. Это можно сделать с помощью любого редактора изображений или онлайн сервиса, например, tinypng.
Решение №2: Переименование файла изображения
Если имя файла содержит специальные символы, такие как @, #, $, &, * и т.д., то перед повторной загрузкой необходимо переименовать файл изображения, удалив эти символы. Это происходит из-за того, что имя файла записывается в базу данных, а набор символом противоречит безопасности WordPress. В этой статье мы писали про безопасность WordPress.
Ошибка из-за размера файла
Это происходит, когда размер загружаемого изображения превышает лимит, установленный для загрузки файлов в WordPress. Чтобы устранить эту ошибку, необходимо увеличить лимит на загрузку файлов.
Один из простых способов избежать этой ошибки — сравнить установленный максимальный размер загружаемого файла с размером файла, который вы хотите загрузить. Лимит загрузки можно найти на странице Медиа > Добавить новый, непосредственно под разделом загрузки файлов.
Чтобы увеличить лимит, откройте файл wp-config.php с помощью текстового редактора и установите новый максимальный размер загрузки с помощью функции php ini_set(), как показано ниже:
ini_set(‘upload_max_size’ , ‘256M’ );
ini_set(‘post_max_size’,’256M’);
Здесь можно задать значение от 2 МБ до 256 МБ. Однако, не рекомендуем превышать 128 МБ, так как вы, скорее всего, не будете загружать на свой сайт ничего столь большого.
В галерее отображаются пустые изображения
Если вы не можете загрузить изображения и в вашей галерее отображаются пустые иконки, то, скорее всего, это связано с тем, что у вас не установлены правильные права доступа к файлам в папке загрузки.
Такая ошибка часто возникает после миграции на другой хостинг. Чтобы решить проблему с загрузкой изображений, необходимо изменить права доступа к файлам в папке upload. Обратите внимание, что для этого необходимо иметь учетную запись FTP на хостинге. Перед тем как приступить к решения проблемы, дополнительно можно посмотреть права прям из админки WordPress, для этого вам необходимо перейти в раздел инструменты > здоровье сайта > вкладка информация и внизу посмотрел раздел права на файловую сисему. Если права ограничены то попробуйте сделать следующее:
- Перейдите в панель в менеджере хостинга и щелкните на File Manager.
- Откройте папку с файлами WordPress.
- Найдите папку wp_content и откройте ее.
- Найдите папку uploads, щелкните на ней правой кнопкой мыши и выберите пункт Разрешения файлов
- Установите числовое значение 744 и выберите — Применять только к каталогам.
- Нажмите «сохранить», чтобы сохранить изменения.
Теперь обновите медиатеку в WordPress и проверьте, отображаются ли изображения. Также попробуйте загрузить новый файл.
Имейте в виду, что настройка и разрешения для файлов зависит от хостинга и в некоторых случаях установка разрешений на файлы «744» может не решить проблему. В этом случае повторите описанный выше процесс, но на этот раз установите для разрешения файлов значение «755».
«744» — это комбинация разрешений для файла в системе UNIX-подобных операционных системах, включая Linux. Разрешения определяют, кто и как может читать, записывать и выполнять файл. Эти разрешения указываются в виде восьмеричного числа и разбиваются на три группы:
- Первая группа (первая цифра) определяет разрешения для владельца файла.
- Вторая группа (вторая цифра) определяет разрешения для группы, к которой принадлежит файл.
- Третья группа (третья цифра) определяет разрешения для всех остальных пользователей.
Таким образом, «744» означает следующее:
- Владелец файла имеет разрешения на чтение (4), запись (2) и выполнение (1), что в сумме дает 7 (4 + 2 + 1).
- Группа, к которой принадлежит файл, имеет только разрешение на чтение (4).
- Все остальные пользователи (публичный доступ) также имеют только разрешение на чтение (4).
Ошибка WordPress HTTP при загрузке файлов
Если при попытке загрузить файл вы столкнулись с такой ошибкой, то наиболее вероятны две причины: проблемы с памятью WordPress и наличие нескольких циклов в процессоре обработки изображений. Проверить память сколько памяти установлено в текущий момент вы можете прям из админки, всю сводную информацию можно получить сразу в разделе «здоровье сайта»
Ниже приведены решения каждой из них:
Решение 1: Увеличьте лимит памяти
Войдите в свою cPanel и откройте папку с файлами WordPress. В этой папке найдите и откройте с помощью текстового редактора файл wp-config.php, а затем включите в него следующий код:
define(‘WP_MEMORY_LIMIT’, ‘256M’)
Это позволит увеличить лимит памяти PHP до 256 МБ и устранить HTTP-ошибку WordPress, если она связана с памятью.
Решение 2: Настроить процессор изображений на использование одного цикла
Если ошибка не исчезла, то следующим шагом будет настройка процессора изображений на использование одного потока.
Использование одного потока означает, что операции обработки изображений (например, изменение размера, обрезка, фильтры и т. д.) будут выполняться последовательно, а не параллельно. Параллельная обработка изображений может использовать несколько ядер процессора (потоков), что увеличивает скорость обработки. Однако в некоторых случаях это может вызвать ошибки или проблемы на сервере, и поэтому один из способов решения проблемы — это переключить процессор изображений на использование только одного потока.
Снова откройте папку сайта, найдите файл .htaccess, откройте его в текстовом редакторе и включите в него следующую конфигурацию:
SetEnv MAGICK_THREAD_LIMIT 1
Теперь попробуйте загрузить изображение и посмотреть, исправлена ли ошибка.
Другие решения
Если все вышеперечисленные решения не помогли решить проблему загрузки изображений в WordPress, то можно попробовать другие варианты.
Решение 1: Использовать браузерный загрузчик
Войдите в панель управления WordPress и перейдите в раздел Медиафайлы > Добавить новый. Щелкните на ссылку загрузчик браузера и попробуйте загрузить изображение таким способом, чтобы проверить, устранит ли это проблему.
Решение 2: Очистить кэш в плагине кэширования
Некоторые пользователи WordPress смогли решить эту проблему, просто очистив кэш в плагине кэширования. Если вы используете плагин кэширования, попробуйте сделать это, чтобы проверить, устранит ли это вашу проблему.
Решение 3: Отключить все плагины
Если все, что было описано до этого момента, не помогло, то отключение плагина, скорее всего, решит проблему с загрузкой изображений.
WordPress зависит от множества инструментов и подключаемых модулей. Каждый раз, когда вы активируете плагин, не совместимый с вашей версией WordPress (или сам плагин не обновляется), велика вероятность того, что он повредит ваш сайт.
Как отключить все плагины в WordPress:
В панели администратора перейдите в раздел Плагины > Установленные плагины. Выберите все плагины, щелкните меню и выберите «деактивировать». Нажмите на кнопку «Применить».
Затем перейдите в медиабиблиотеку, обновите ее и проверьте, отображаются ли теперь изображения. Попробуйте также загрузить новое изображение.
Если это устранит проблему, активируйте плагины по одному, чтобы найти проблемный плагин. Когда вы найдете проблемный плагин, либо установите версию, совместимую с вашим сайтом, либо полностью удалите его.
В большинстве случаев этот шаг решает проблему с загрузкой изображений. Если же после обновления сайта ничего не изменилось, то это означает, что с плагинами все в порядке и они актуальны. Возможно, придется установить новую рабочую версию WordPress или обратиться к фриланс специалисту.
Резюмируем
Ошибки загрузки изображений в WordPress могут стать серьезной проблемой для владельцев и разработчиков сайтов. Однако при правильном подходе можно устранить проблему и восстановить работоспособность изображений.
В этой статье мы рассмотрели такие возможные решения, как увеличение лимита памяти, изменение размера изображений, использование загрузчика в браузере и отключение всех плагинов. Главное — уделить время поиску и изучению проблемы, чтобы выявить и решить ее быстро и эффективно.