Как решить The Uploaded File Could Not Be Moved to Wp-Content/Uploads?
При загрузке файла всплывает сообщение The uploaded file could not be moved to wp-content/uploads/2023/09.
Пытался уже сделать следующие вещи, не помогло:
1. Поставить разрешения на 755 или 777
2. в хостинге поменял владельца папки на root
3. Удалил и пересоздал папку
4. Сменил версию php на fastcgi
Знает кто, как решить этот вопрос? Сайт стоит на VPS, версия PHP 7.4
Дополнительно:
Линукс и веб-сервер какой?
в хостинге поменял владельца папки на root
Никогда так не делай.
Владелец файлов и каталогов должен быть тот, от которого работает php.
Подробнее об ошибке расскажут логи.
Сменил версию php на fastcgi
Это не версия, а обработчик.
да
- Петька, ключ!
- 18!
-Что 18?
- А что ключ?
Тебя спрашивают "какой вебсервер?" (правда какая нафик разница...)
С такими знаниями опасно лезть на сервер. Найми специалиста.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Ошибка “The uploaded file could not be moved to wp-content/uploads” почти всегда связана с правами владельца файлов, а не с тем, что нужно поставить 777. На VPS владелец папки
uploadsдолжен совпадать с пользователем, от которого работает PHP-FPM/веб-сервер. Если Вы поставили владельцемroot, WordPress как раз может потерять возможность писать в папку.Сначала узнайте пользователя PHP-FPM. Для Ubuntu это часто
www-data, но на панелях управления может быть пользователь сайта. Проверьте процессы:ps aux | grep php-fpm ps aux | grep nginx ps aux | grep apache
Дальше выставьте владельца и права. Пример для
www-data:sudo chown -R www-data:www-data /path/to/site/wp-content/uploads sudo find /path/to/site/wp-content/uploads -type d -exec chmod 755 {} ; sudo find /path/to/site/wp-content/uploads -type f -exec chmod 644 {} ;
Если сайт работает от отдельного пользователя, замените
www-dataна него. 777 использовать не нужно: это небезопасно и не решает проблему владельца.Также проверьте, существует ли папка текущего месяца, например
wp-content/uploads/2023/09, и может ли PHP создавать новые директории. В админке WordPress проверьте Настройки → Медиафайлы, не задан ли старый/неверный путь загрузок. В базе это optionupload_path; обычно он должен быть пустым.Если после прав всё равно ошибка, смотрите PHP/error log и nginx/apache log. Там будет точный путь, куда WordPress пытается переместить файл.