Ошибки

Unable to create directory wp-content/uploads: WordPress не может создать папку

WordPress складывает загруженные файлы в папку wp-content/uploads, по папкам года и месяца. Если создать такую папку или записать в неё файл не выходит, загрузка останавливается — нужно дать PHP права на папку uploads.

Обновлено 10.10.2026≈ 3 мин чтения
Содержание 7

Что сделать прямо сейчас

  1. Проверьте, кто владелец папки uploads — шаг 1.
  2. Отдайте папку пользователю, от которого работает PHP — шаг 2.
  3. Проверьте место на диске — подробнее.

Что означает ошибка

Перед загрузкой WordPress создаёт папку для текущего месяца, например wp-content/uploads/2026/10. Если не получилось, он пишет:

Unable to create directory wp-content/uploads/2026/10. Is its parent directory writable by the server?

То есть: «Не удалось создать папку. Может ли сервер писать в папку уровнем выше?» Похожее сообщение The uploaded file could not be moved to … значит, что папка есть, но записать в неё файл нельзя. Причина у обоих одна: у пользователя, от которого работает PHP, нет прав на запись в папку uploads.

Шаг 1. Узнайте владельца папки

На VPS подключитесь к серверу — как это сделать, рассказано в инструкции Как подключиться к VPS по SSH. В примерах папка сайта — /var/www/example.com: подставьте свою. Путь к ней указан в строке root в файле настроек сайта nginx. Посмотрите, кому принадлежит папка:

ls -ld /var/www/example.com/wp-content/uploads

В ответе третья колонка — владелец, четвёртая — группа. Если ответ No such file or directory, папки uploads нет: создайте её командой sudo mkdir /var/www/example.com/wp-content/uploads.

Теперь узнайте, от какого пользователя работает PHP:

ps -eo user,comm | grep php-fpm

Команда покажет несколько строк, в первой колонке — имя пользователя. Строка с root — главный процесс PHP, он только раздаёт работу. Нужно имя из остальных строк: от него PHP читает и пишет файлы сайта, например www-data. Если владелец папки другой, переходите к шагу 2.

Шаг 2. Отдайте папку пользователю PHP

Вместо www-data подставьте имя пользователя PHP из шага 1:

sudo chown -R www-data:www-data /var/www/example.com/wp-content/uploads

Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. Если команда ничего не ответила, папка и всё в ней теперь принадлежат PHP. Загрузите файл снова.

На обычном хостинге права меняет хостер: напишите в поддержку и пришлите текст ошибки целиком.

Если права в порядке

Проверьте место на диске командой df -h — если в колонке Use% стоит 100%, записывать некуда. Как освободить место, рассказано на странице No space left on device.

Тексты сообщений сверены с исходным кодом WordPress 7.1.3. В русской версии WordPress те же сообщения показаны по-русски — сравнивайте по смыслу.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026