#Типичные ошибки загрузки
Joomla может показывать «Ошибка при загрузке», «Тип файла запрещён» или просто не реагировать. Причины делятся на три группы: файловая система (нет прав на запись в images/), настройки PHP и сервера (лимиты, ModSecurity), настройки Joomla (разрешённые расширения, размер, проверка содержимого). Определите, к какой группе относится ваша ситуация, посмотрев на текст ошибки и журналы.
#Причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет прав на imagesВладелец другой. | Ошибка записи. | chmod/chown. |
| Ограничения JoomlaРасширение не разрешено. | «Тип файла не поддерживается». | Добавьте тип в настройках Медиа. |
| Малые лимиты PHP2 МБ. | Падает на крупных фото. | Увеличьте лимиты. |
| Нет fileinfo или gdРасширения выключены. | Ошибка проверки типа. | Включите. |
| ModSecurityБлокирует POST. | 403/406 при загрузке. | Попросите хостинг исключить правило. |
| Конфликт плагинаРедактор, защита. | Без плагина работает. | Отключите. |
#Порядок
- Проверьте права и владельца на images/ и вложенные каталогиВ cPanel или другой панели откройте файловый менеджер, найдите реальный корень Joomla и папку
images, затем свойства файла и папок. Проверьте, кто владелец, кто выполняет PHP и есть ли право записи у соответствующего пользователя. Для опытного администратора по SSH подойдётnamei -l /путь/к/сайту/imagesиls -ld .... Не ставьте777и не меняйте владельца всего сайта рекурсивно. - Проверьте разрешённые форматы изображений в настройках JoomlaВ Joomla с правами администратора откройте «Система → Общие настройки → Медиа» (путь различается по версиям), сравните разрешённые расширения, допустимые типы MIME и максимальный размер загрузки. Проверьте, поддерживается ли JPG/PNG именно вашим установленным компонентом. Сначала загрузите маленький JPG с простым латинским именем, затем проблемный файл; разница укажет на формат, размер либо имя.
- Проверьте лимиты PHP: upload_max_filesize, post_max_size, memory_limitОткройте параметры PHP именно того домена в панели хостинга и найдите
upload_max_filesize,post_max_size,memory_limit.post_max_sizeдолжен быть больше ожидаемого размера запроса, а обработка изображений может требовать дополнительной памяти. Запишите прежние значения, меняйте их в допустимых пределах и снова попробуйте загрузку.php -iв SSH может показывать другую конфигурацию, чем веб-сайт. - Убедитесь, что включено расширение PHP fileinfo и gdВ панели PHP → «Расширения» найдите
fileinfo(проверка типа файла) и графическую библиотеку GD/Imagick согласно требованиям вашей версии Joomla. Если доступен раздел «Информация о системе», сверяйте веб-PHP через него, а не только через консоль. При отсутствующем модуле обратитесь к хостеру или включите поддерживаемое расширение, после чего повторите тестовое изображение. - Проверьте журнал ошибок и ответ сервера в инструментах разработчикаВ браузере откройте страницу загрузки → F12 → «Сеть/Network», повторите загрузку и найдите запрос с файлом. Запишите HTTP-статус: 413 говорит о размере, 403 — о блокировке, 500 — о серверной ошибке. В панели хостинга откройте журнал ошибок домена в это же время и найдите конкретную причину. Не передавайте журнал с секретами третьим лицам.
- Временно отключите плагины редактора и безопасностиЕсли проблема появилась после установки расширения безопасности или редактора, сначала сохраните резервную копию и выключите одно недавно изменённое расширение через «Система → Управление → Расширения» в вашей версии. Повторите загрузку малого JPG; при неуспехе верните расширение и проверяйте следующий фактор. Не отключайте все средства защиты надолго, особенно на публичном сайте.
- Проверьте ModSecurity/WAFВ панели WAF/ModSecurity найдите журнал событий для запроса загрузки: время, путь, идентификатор блокирующего правила. Если это подтверждённое ложное срабатывание, создайте узкое исключение для конкретного правила или обратитесь в поддержку; не выключайте всю защиту и не открывайте каталог загрузок на запись всем.
- Проверьте свободное местоОткройте «Статистика диска» в панели хостинга и проверьте квоту файлов и inode. При доступном SSH выполните
df -hиdf -i, учитывая, что квота аккаунта может отличаться от общей файловой системы. Если место исчерпано, удаляйте только проверенные копии или кэш штатными средствами. После освобождения загрузите маленький JPG и проверьте его появление вimages. - Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
#Дополнительные проверки
Если загрузка идёт, но изображения не отображаются, проверьте путь в «Настройки медиа → Путь к файлам» (по умолчанию images) и права на чтение. Для файлов с кириллицей в имени включите транслитерацию или переименуйте: некоторые серверы неверно обрабатывают такие имена. Очистите кеш Joomla (Система → Очистить кеш) после изменения настроек.
#Новый Менеджер медиа Joomla 4/5
В Joomla 4 и 5 Менеджер медиа использует «адаптеры» и «локальные файловые системы» (Система → Плагины → Файловая система — Локальная). Если папка images настроена иначе или удалён адаптер, загрузка не сработает без видимой ошибки. Откройте «Компоненты → Медиа → Параметры» и проверьте путь к файлам и расширения для изображений и документов. Если вы используете облачное хранилище через плагин, отключите его на время теста и убедитесь, что локальная загрузка проходит.
Для крупных фотографий включите ограничение размера в параметрах «Максимальный размер изображения» и автоматическую обработку: Joomla сможет уменьшить изображение при загрузке и не будет упираться в memory_limit. Консольный просмотр ошибок упрощает отладку: запрос загрузки идёт на адрес index.php?option=com_media&task=api.files — найдите его на вкладке Network в инструментах разработчика (F12) и посмотрите код ответа и тело сообщения.