Как решить The Uploaded File Could Not Be Moved to Wp-Content/Uploads?

Ссылка скопирована
1 ответ

При загрузке файла всплывает сообщение 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

Дополнительно:

Линукс и веб-сервер какой?

  • Михаил Р., Ubuntu 20.04
  • JyriG, веб-сервер?
  • Михаил Р., да
  • в хостинге поменял владельца папки на root

    Никогда так не делай.
    Владелец файлов и каталогов должен быть тот, от которого работает php.

    Подробнее об ошибке расскажут логи.

    Сменил версию php на fastcgi

    Это не версия, а обработчик.

    да

    - Петька, ключ!
    - 18!
    -Что 18?
    - А что ключ?

    Тебя спрашивают "какой вебсервер?" (правда какая нафик разница...)

    С такими знаниями опасно лезть на сервер. Найми специалиста.

  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Игорь Волков Ответ

    Ошибка “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

    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 {} ;

    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 проверьте Настройки → Медиафайлы, не задан ли старый/неверный путь загрузок. В базе это option upload_path; обычно он должен быть пустым.

    Если после прав всё равно ошибка, смотрите PHP/error log и nginx/apache log. Там будет точный путь, куда WordPress пытается переместить файл.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно