Unable to create directory wp-content/uploads: WordPress не может создать папку
WordPress складывает загруженные файлы в папку wp-content/uploads, по папкам года и месяца. Если создать такую папку или записать в неё файл не выходит, загрузка останавливается — нужно дать PHP права на папку uploads.
Содержание 7
Что сделать прямо сейчас
- Проверьте, кто владелец папки uploads — шаг 1.
- Отдайте папку пользователю, от которого работает PHP — шаг 2.
- Проверьте место на диске — подробнее.
Что означает ошибка
Перед загрузкой 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 те же сообщения показаны по-русски — сравнивайте по смыслу.
Источники
- Исходный код WordPress 7.1.3: functions.php — функции dead_db и wp_nonce_ays, список разрешённых типов файлов, текст Unable to create directory.
- Исходный код WordPress 7.1.3: file.php — тексты ошибок загрузки файлов и запрос данных FTP.
Сверено 10 октября 2026 года.
Что почитать дальше
- Права на файлы сайта на VPS — папкам 755, файлам 644 и какой владелец нужен сайту.
- Missing a temporary folder.
- Как перенести сайт на другой хостинг.
- Все ошибки WordPress.
Проверено и обновлено: 10.10.2026