Как решить проблему с Загруженный файл не удалось переместить в wp-content/uploads?
После переноса сайта на вордпресс на другой сервер столкнулся с такой проблемой, при попытке загрузки файлов в медиатеку:
Файл «1.png» загрузить не удалось.
Загруженный файл не удалось переместить в wp-content/uploads.
1. Менял права папки на 755 и даже 777 - не помогает.
2. Пробовал прописать в конфиг.пхп следующее, вместе и поотдельности:
define('UPLOADS', 'wp-content/uploads');
define('UPLOADS', 'wp-content/uploads/2023/07');
3. sudo chown -R www-data <путь до директории/wp-content-uploads/>
Ничего из этого не помогло. Такое ощущение, что эта банальная проблема не пробиваема. Есть идеи как это пофиксить?
Дополнительно:
Ответы:
на папке wp-content/uploads рекурсивно для неё
и всех внутренних папок задать права 755
типа
chmod -R 755 /var/www/saitsasait/wp-content/uploads
Вообще проверить права корневой папки и wp-content тоже, а также пользователей и группу папки
вряд ли дело в чем-то ещё
- Нет, эти права уже выставлены для всех папок сайта :/
- SiO4, чтобы долго не возиться, можно просто попробовать перезалить CMS, тогда будет понятнее в чем проблема, в ней или сервере
- Evgeniy, перезалил, выставил права — та же самая ситуэйшн(
- Evgeniy, хз в чём проблема, но помогло только выставление прав 777 :/
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Ошибка «Загруженный файл не удалось переместить в wp-content/uploads» почти всегда означает, что PHP смог принять файл во временную папку, но не смог записать его в конечную директорию. После переноса сайта проверять нужно не только
chmod, а владельца, группу, путь uploads и ограничения сервера.Проверьте путь uploads в WordPress:
add_action('admin_notices', function () { $uploads = wp_get_upload_dir(); echo '<pre>' . esc_html(print_r($uploads, true)) . '</pre>'; });
На сервере проверьте владельца процессов PHP и владельца папок:
ps aux | grep php ls -ld wp-content wp-content/uploads ls -ld wp-content/uploads/$(date +%Y) df -h df -i
Если PHP работает от пользователя
www-data, папки должны быть доступны именно ему:chown -R www-data:www-data wp-content/uploads find wp-content/uploads -type d -exec chmod 755 {} ; find wp-content/uploads -type f -exec chmod 644 {} ;
777как постоянное решение оставлять не стоит. Если помогает только 777, значит владелец или группа выставлены неправильно, либо включены ACL/SELinux/open_basedir. Также уберите неверные эксперименты сdefine('UPLOADS', ...), если WordPress раньше работал со стандартной папкой.Перед внедрением на рабочем сайте проверьте решение на копии или хотя бы сделайте резервную копию изменяемого файла. После правки включите отображение ошибок, откройте проблемную страницу в обычном и приватном окне, проверьте консоль браузера и логи PHP. Если задача связана с WordPress, WooCommerce или ACF, дополнительно проверьте поведение после очистки кэша и после выхода из админки: часть ошибок видна только для незалогиненного пользователя.
Если код работает только в одном шаблоне, лучше не оставлять его разрозненно в нескольких файлах. Вынесите повторяемую логику в функцию, небольшой плагин или template part, а в шаблоне оставьте только вызов. Так проще поддерживать решение после обновления темы, плагинов и PHP.