#Что означает ошибка
Не удаётся загрузить файл The file could not be uploaded
При загрузке вложения phpBB пишет «The file could not be uploaded» или «Не удаётся загрузить файл». В phpBB есть четыре независимых проверки: настройки вложений в админ-панели (включены ли, разрешённые расширения, лимиты), права на каталог files/, лимиты PHP (upload_max_filesize, post_max_size) и права пользователя или группы на вложения в конкретном форуме. Достаточно сбоя в одной из них.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
Нет прав на каталог filesВеб-сервер не может писать в files/. | В логе «Permission denied». | Выдайте права на запись. |
Малый лимит PHPФайл больше upload_max_filesize. | Большие файлы не грузятся. | Увеличьте лимит. |
| Запрещённое расширениеРасширение не разрешено. | Ошибка для конкретного типа файлов. | Добавьте в группу расширений. |
| Вложения отключеныОтключены в настройках форума/группы. | Нет кнопки вложений. | Включите и выдайте права. |
#Пошаговое решение
- Проверьте настройки вложенийВойдите в ACP phpBB под администратором → «Сообщения» → «Вложения» → «Настройки вложений» (названия зависят от перевода). Проверьте «Разрешить вложения», максимальный размер файла и число вложений на сообщение. Укажите лимит, который соответствует правилам форума, сохраните и проверьте маленький файл разрешённого типа.
- Проверьте группы расширенийВ ACP откройте «Сообщения → Вложения → Управление группами расширений» и проверьте, к какой группе относится расширение тестового файла и разрешена ли эта группа на нужном форуме. Не разрешайте исполняемые
.php,.exeи серверные скрипты без особой необходимости; протестируйте обычные.jpgи.pdf. - Проверьте праваОткройте ACP → «Права доступа» и проверьте форумные права конкретной группы пользователей: «Можно прикреплять файлы» и «Можно скачивать файлы». Используйте «Маски прав»/«Проверка прав пользователя», чтобы увидеть действующее право после всех ролей и групп. Не выдавайте административные права ради прикрепления документа.
- Проверьте права каталогаНа сервере через SSH найдите каталог
filesphpBB и выполнитеls -ld filesиnamei -l полный_путь/files. Каталог должен быть доступен для записи учётной записи PHP, но файлы нельзя делать исполняемыми из веба. Исправьте права только этого каталога после проверки владельца; рекурсивныйchown -R www-dataдляfiles store cacheбез анализа опасен. - Проверьте лимиты PHPВ панели хостинга проверьте параметры PHP веб-версии, обслуживающей форум:
file_uploads,upload_max_filesize,post_max_size,upload_tmp_dir. Размер POST должен быть больше размера прикрепляемого файла с учётом полей формы. Если временная директория недоступна для записи, проверьте её права и квоту. - Проверьте лимит веб-сервераЕсли сервер возвращает HTTP 413, проверьте Nginx
client_max_body_sizeлибо ограничение CDN/прокси: это происходит до обработки загрузки PHP. Меняйте лимит только у нужного сайта и послеnginx -t; при HTTP 403 исследуйте WAF и правила защиты, а не лимит файла. - Проверьте место на дискеЧерез SSH выполните
df -h,df -iдля раздела с phpBB и проверьте квоту пользователя хостинга. При переполнении загрузки не сохраняются даже при достаточных лимитах PHP; освобождайте только известные временные файлы после резервной копии, не удаляйте существующие вложения пользователей. - Очистите кэшЕсли после исправления настроек форум продолжает показывать старое сообщение, выполните штатную очистку кэша phpBB через ACP → «Общие → Очистить кэш». Затем повторите загрузку файла допустимого типа и проверьте, отображается ли ссылка на вложение. Если ошибка осталась, соберите журнал PHP, HTTP-код и лимиты.
- Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
Если вложения загружаются, но не отображаются, проверьте, что каталог files/ не закрыт правилом .htaccess для выдачи, а config.php не содержит устаревший путь. Для антивирусной защиты форума ограничьте допустимые расширения (изображения, документы, архивы) и не разрешайте исполняемые файлы (php, exe). Проверьте также настройки квоты вложений для пользователей. Документация — .