Папка загрузки недоступна для записи, даже когда права доступа установлены верно
Недавно я перенес свой сайт с Godaddy на Webfaction. После миграции я получаю следующую ошибку:
Папка загрузки недоступна для записи. Функции экспорта и загрузки файлов не будут работать.
Естественно, я проверил права доступа к папке - и они корректны. Для проверки я даже рекурсивно изменил права на "777" (в качестве теста, не навсегда), но я все равно не могу загружать изображения.
Как я могу диагностировать эту проблему?

Папка для загрузки недоступна для записи. Функции экспорта и загрузки файлов не будут работать.
Данная ошибка исходит из плагина Gravity Forms, а не из самого WordPress.
Перейдите в Настройки → Медиафайлы и проверьте, что значение "Сохранять загрузки в этой папке" указано верно. Использование стандартного значения wp-content/uploads
устранит ошибку, при условии что у данной директории установлены правильные права доступа.

Это проблема с правами доступа на сервере. Согласно документации WordPress:
Любой файл, для которого WordPress требует права на запись, должен принадлежать пользователю или группе пользователей, под которыми работает WordPress (это может отличаться от аккаунта сервера). Например, у вас может быть аккаунт для FTP-доступа к файлам на сервере, но сам сервер может работать под другим пользователем или группой, например
dhapache
илиnobody
. Если WordPress работает под FTP-аккаунтом, этот аккаунт должен иметь права на запись, то есть быть владельцем файлов или входить в группу с правами на запись. В последнем случае права доступа должны быть более разрешительными, чем по умолчанию (например, 775 вместо 755 для папок и 664 вместо 644 для файлов).
Из http://codex.wordpress.org/Changing_File_Permissions
Как я могу решить эту проблему?
Обратитесь в Webfaction. Похоже, им нужно предоставить вам возможность изменять права доступа (chmod) для файлов и папок или сделать это самостоятельно.
И, кстати, сначала поищите решение распространённых проблем, таких как права доступа; на WP Dev уже есть множество ответов.

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

Если вы используете WordPress Multisite, вот решение, которое я нашел.
"Путь для загрузки" в WordPress Multisite должен быть указан как путь относительно сервера (например, /home/имя_аккаунта/public_html/wp-content/uploads
).
"URL пути для загрузки" должен быть указан как URI (например, http://example.com/wp-content/uploads
).
Игнорируйте фрагмент /sites/1/
для подсайтов - WordPress добавит его автоматически.

Я тоже переносил сайт на WordPress и столкнулся с такой же проблемой.
После долгих поисков я понял, что изменилось имя учетной записи хостинга. Поскольку путь загрузки WordPress включает папку учетной записи хостинга, его необходимо отредактировать.
WordPress сохраняет путь загрузки в таблице wp_options в поле "upload_path": /home/имя учетной записи хостинга/public_html/wp-content/uploads
Отредактируйте это поле через phpMyAdmin, и все заработает ;)
Надеюсь, это вам поможет
Пит Корниш
