Для системного администратора эта ошибка, как мне кажется, больше рутина, хотя я не могу знать точно. Но это сообщение, которое отображалось при попытке загруки файла через файловый менеджер WordPress, взбесило меня на столько, что я решил написать о нем.
Когда появляется?
Если Ваш сайт ранее успешно работал, ошибка может появиться после переноса его на другой сервер / хостинг. Давайте рассмотрим как WordPress сохраняет изображение для того, чтобы докопаться до сути:
- WordPress извлекает указанный вами файл с компьютера
- Файл помещается во временную память сервера
- Затем следует сохранение файла на сервер в папку /wp-content/uploads/{год}/{месяц}
А теперь посмотрим в текст ошибки:
The uploaded file could not be moved to wp-content/uploads/…./..
Или, если угодно, на русском:
Загруженный файл не может быть перемещен в wp-content/uploads/…./..
Из текста мы понимает: WordPress не может переместить файл из временного хранилища в постоянное. Давайте разберемся почему так происходит.
Почему мы видим эту ошибку?
То, что мы называем ошибкой, по сути, не является ошибкой.
Учетная запись сервера, которая на самом деле принимает файл с компьютера называется apache (хотя может иметь и другое имя)
Эта команда покажет список процессов для веб-сервера вместе с идентификаторами процесса. (нас интересует процесс httpd)
ps aux | egrep '(apache|httpd)'
Мы видим данную ошибка потому, что учетная запись не имеет прав на папке wp-content/uploads/.
Как предоставить права на папку?
chown -R apache /wp-content/upload/
В данной команде apache — идентификатор процесса, который мы узнали запустив команду выше, а /wp-content/upload/ — полный путь к папке upload.