Загруженный файл не может быть перемещен в wp-content/uploads

Я пытаюсь загрузить изображения в WordPress, но получаю эту ошибку:

Загруженный файл не может быть перемещен в wp-content/uploads.

Я запускаю его в localhost, но ответы, которые я нашел, - это изменить права доступа к папке на 777 на сервере.

Я попытался создать папку uploads самостоятельно, но это бесполезно, и нет никакой возможности изменить права доступа к папке на все, кроме чтения и записи.

Я использую XAMPP в Mac OS X; Я новичок в WordPress - как я могу это исправить?

Ответ 1

Откройте приложение "Терминал", cd - wp-content и запустите:

chmod 755 uploads

Ответ 2

Это, скорее всего, проблема с правами доступа. Найдите пользовательские процессы, запущенные на сайте, перейдя на папку wp-content на вашем сайте, на котором находится ваш сайт. Затем введите это:

ps aux | egrep '(apache|httpd)'

Игнорировать root, но посмотрите на других пользователей

root      2507  0.0  0.3 423820 14328 ?        Ss   Aug04   0:51 /usr/sbin/httpd
apache    4653  0.5  1.9 483900 77252 ?        S    16:27   0:14 /usr/sbin/httpd
apache    4654  0.5  2.1 500160 84912 ?        S    16:27   0:13 /usr/sbin/httpd
apache    4656  0.8  2.0 484708 78712 ?        S    16:27   0:21 /usr/sbin/httpd
...

Для меня это был apache (обычно www-data). Наконец, измените пользователей uploads на этот пользователь;

sudo chown -R apache:apache uploads

(убедитесь, что вы находитесь в каталоге над папкой uploads при запуске этой команды)

Это позволит правильному пользователю получить доступ к этому каталогу, используя права доступа правильные 755.

Используя советы ужасных '777' других, вы просто позволяете правильному пользователю обращаться к каталогу, назначенному некорректному пользователю, а также любому другому, кто может получить доступ к этому каталогу!

Ответ 3

Я бы порекомендовал, ради безопасности, вместо

sudo chmod 777 uploads

который предоставляет разрешения (чтение, запись, выполнение) пользователю, которому принадлежит папка (корень), другим пользователям в группе файлов и другим пользователям, не входящим в группу файлов (кто-либо еще).

sudo chmod 755 uploads

который дает все разрешения владельцу, но только права на чтение и выполнение для других пользователей

Ответ 4

Для тех, кто приземлился здесь, но используя платформу Windows/IIS, вы можете достичь того же, предоставив разрешения на изменение для группы Everyone для вашего каталога wp-content\uploads.

permissions dialog

Ответ 5

Другая возможная причина - неправильный владелец и группа папок для uploads.

пытаться

chown -R _www:_www wp-content/uploads

при условии, что ваша группа Apache и владелец _www