Как исправить ошибку загрузки изображения в WordPress
Опубликовано: 2018-02-28Недавно мы опубликовали наше Полное руководство по исправлению ошибок WordPress, и один из наших читателей написал нам по электронной почте, чтобы узнать, как исправить ошибку загрузки изображения в WordPress. Не так давно, чтобы я не мог вспомнить эту ошибку в своем собственном блоге, из-за которой я всю ночь мучился, выяснял проблему и исправлял ее.
Что ж, в то время мой блог только начинался, поэтому я не публиковал это решение, но никогда не поздно помочь другим решить эту странную проблему.
По сути, с этой проблемой вы не можете загрузить какое-либо изображение в WordPress, и если загрузка пройдет, изображения в медиатеке будут отображаться как поврежденные. В этой статье мы покажем вам, как решить проблему с загрузкой изображений в WordPress.
Это причины, по которым вы можете столкнуться с ошибкой WordPress при загрузке изображений.
- Размер изображения
- PHP-память
- ModSecurity
- Конфликт плагинов
- Разрешение на файл
- Версия PHP на сервере
Размер изображения
Это происходит, когда вы пытаетесь загрузить изображение большого размера в пикселях, например, изображение размером 4000 x 3000 пикселей. Который слишком велик для вашего сервера.
Некоторые серверы показывают ошибку, даже если ваше изображение меньше этого размера, все зависит от ресурсов вашего сервера.
Решение
Уменьшите размер изображения. Например, не добавляйте изображение с очень большим пикселем. Если область содержимого вашего поста имеет ширину 800 пикселей, не добавляйте изображение большего размера.
Уменьшайте размер изображения методом проб и ошибок, пока не сможете загрузить его без ошибок. 1075px достаточно для большинства сайтов WordPress, если вы используете премиальную тему WordPress, проверьте ее документацию, чтобы узнать требуемый размер изображения.
Поскольку у него недостаточно места для расширения, и все, что он делает, это сжимается до этого места, проблема заключается в том, что при загрузке изображения такого размера WordPress будет потреблять огромное количество памяти. Поскольку какой-то сервер ограничивает объем памяти, который может потреблять WordPress, в этом случае это вызовет ошибку при загрузке.
PHP-память
Функциональность и ресурсы WordPress могут быть ограничены после того, как он работает на PHP, а серверы, на которых работает PHP, могут ограничивать эти ресурсы.
Вы можете увеличить объем PHP-памяти самостоятельно или обратиться в службу поддержки веб-хостинга. Память можно увеличить двумя способами:
Решение
- Увеличьте память WordPress
- Увеличьте память PHP
Вы можете увеличить объем памяти WordPress, добавив этот код в файл wp-config.php, который находится в корневом каталоге WordPress.
определить('WP_MEMORY_LIMIT', '256M');
Этот вышеприведенный параметр может не работать, если ваш хост/сервер не позволяет вам увеличить лимит памяти PHP или ограничивает его в некоторой степени, поэтому я предлагаю напрямую обратиться в вашу службу поддержки и попросить их изменить лимит для вас. Вы пропустите хлопоты. Лучше попросить службу поддержки увеличить вашу память PHP, но если вам нравятся проблемы, добавьте этот код ниже в свой php.in или php5.ini.
memory_limit 256M
ModSecurity
Возможно, вы никогда не замечали эту безопасность или знаете об этом. ModSecurity также известен как .htaccess, и я надеюсь, что вы видели этот файл в корневом каталоге WordPress, в основном он скрыт.
Если на вашем сервере включена защита модов, возможно, в вашем случае проблема связана с этим файлом.
Решение
Вам необходимо отключить защиту мода для загрузки, поэтому создайте .htaccess в папке wp-admin и добавьте следующие коды.
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Выкл.
</ЕслиМодуль>
Это отключит mod_security для кода получения загружаемого файла в файле wp-admin.
Примечание. Удалите это, если это вызывает какую-либо ошибку на вашем сервере.
Конфликт плагинов
Было подтверждено, что в большинстве случаев плагин конфликтует с процессом загрузки. Во многих случаях даже мой блог страдал от конфликтов плагинов.
это связано с устаревшим плагином или синтаксической ошибкой, вызванной обновлением до последней версии того или иного плагина или WordPress.
Я обнаружил, что плагины, которые помогают загружать, сжимать или сжимать изображения, чаще всего вызывают ошибку. В некоторых случаях некоторые настольные приложения также вызывали эту ошибку, если вы используете это приложение для сжатия или рендеринга изображений.
Кроме того, реактивный ранец, плагины, которые помогают загружать на cdn или aws или удаленные серверы, вызывают ошибку WordPress при загрузке изображений.
Решение
Пожалуйста, продолжайте отключать один плагин за раз. Очистите кеш и историю браузера, а затем снова загрузите медиа-загрузчик, чтобы загрузить свое изображение и посмотреть, удалось ли вам это сделать.
Если нет, попробуйте не использовать какой-либо плагин WordPress и настольные приложения, а загрузите необработанный файл .png или .jpg и проверьте, работает он или нет.
Разрешение на файл
Если это не плагин или ограниченная память, которая вызывает ошибку при загрузке изображений, я бы посоветовал вам взглянуть на права доступа к файлам на вашем сервере.
Права доступа к файлам могут измениться автоматически, даже если вы их не меняли.
Хочу знать. Как это изменилось?
Если ваша хостинговая компания запускает обновление на своих серверах или плагин был обновлен вами, права доступа к файлам могут быть изменены.
Если вы используете общий веб-хостинг, возможно, хакер получил доступ к вашим файлам, и ваше разрешение на доступ к файлу могло быть изменено полезной нагрузкой, которую хакер мог загрузить.
Вы можете легко изменить права доступа к файлу с помощью программы FTP, я использую Cyberduck для ftp как на моем компьютере Mac, так и на компьютере с Windows.
Получите доступ к своим файлам через FTP, а затем перейдите в каталог /wp-content/ . Там вы увидите папку /uploads/ . Щелкните правой кнопкой мыши каталог загрузки и выберите права доступа к файлу.
Сначала вам нужно будет установить права доступа к файлам для самого каталога загрузки и всех подкаталогов внутри него на 744 . Для этого введите 744 в поле числового значения , а затем установите флажок рядом с пунктом Рекурсивно в подкаталоги.
Наконец, вам нужно нажать на переключатель «Применить только к каталогам». Нажмите кнопку ОК, чтобы применить эти изменения.
Вам нужно повторить тот же процесс, но для папки загрузки.
Вам нужно будет установить права доступа ко всем файлам в каталоге загрузки. Для этого щелкните правой кнопкой мыши каталог загрузки и выберите права доступа к файлу.
В диалоговом окне прав доступа к файлу числовое значение изменяется на 644 . Установите флажок рядом с Рекурсивно в подкаталоги . Нажмите переключатель «Применить только к файлам». Нажмите кнопку ОК, чтобы применить эти изменения.
Ваша FTP-программа применит эти изменения, и ваш загрузчик изображений снова заработает.
Версия PHP на сервере
Это остается незамеченным на протяжении всей задачи, которую вы выполняете при решении этой ошибки, так как в большинстве случаев об этом никто не думает.
Почему кто-то должен, как и в большинстве случаев пользователи, говорить, что он работал до вчерашнего дня, прежде чем я нажал кнопку обновления?
Но обновление плагина, темы или WordPress может вызвать эту ошибку и несколько других ошибок, поскольку WordPress построен на PHP и имеет некоторые стандарты, которым необходимо следовать, поэтому разработчик всегда указывает версию, которая является стабильной для WordPress.
Если версия PHP вашего сервера не соответствует требованиям WordPress, обратитесь к персоналу службы поддержки вашего сервера и попросите их внести изменения в вашу версию PHP в соответствии с требованиями WordPress.
Вывод
(обновить) . На это исправление указали несколько наших читателей. Мы благодарим их за это!
Убедитесь, что в имени файла изображения нет апострофа (например, john's-blogging.png), потому что это также вызовет ошибку.
(обновить) . Если вы используете подключаемый модуль оптимизатора изображений, отключите его и посмотрите, решит ли это проблему.
Если вы все еще сталкиваетесь с проблемой, дайте мне знать. Я буду рад помочь вам и прокомментируйте ниже, какой метод помог вам исправить эту ошибку.