Не удается загрузить изображения из-за ошибки прав доступа

6 сент. 2010 г., 22:54:09
Просмотры: 27.8K
Голосов: 6

По какой-то причине, когда я пытаюсь загрузить изображение в мой блог, я получаю сообщение об ошибке, говорящее, что WordPress не может создать папку в соответствующей директории (wp-content/uploads/2010/09), и спрашивает, есть ли права на запись у родительской папки. У родительской папки действительно есть права на запись. Я попробовал создать папку вручную, но всё равно появляется то же сообщение об ошибке.

5
Комментарии

@Lea, чтобы дать точный ответ на ваш вопрос, нужны дополнительные детали. Это новая установка WordPress? Если нет, могли ли вы загружать изображения раньше? Какие права доступа у текущих директорий для загрузки и на что вы их изменили? PHP работает под именем пользователя или группы, например nobody или www-data? Ваши файлы WordPress принадлежат пользователю или группе пользователей в формате username:groupname?

Chris_O Chris_O
6 сент. 2010 г. 23:44:05

@Lea: Добавляя к вопросам @Chris_O, кто ваш веб-хостинг? Для администрирования вы используете FTP, CPanel или что-то другое? Вы используете Mac или PC? Когда вы говорите, что есть права на запись, какие именно цифровые права указаны?

MikeSchinkel MikeSchinkel
7 сент. 2010 г. 04:22:12

Какое было сообщение об ошибке, Lea?

Tal Galili Tal Galili
7 сент. 2010 г. 08:03:24

Я использую хостинг Site5. Версия WP 3.0.1 Я успешно загружал изображения до возникновения этой проблемы. Это не новый блог. Я не менял права доступа, поэтому это особенно удивительно. Все папки в Uploads и ниже имеют права на чтение/запись. Я использую FTP Site5 и/или редактирую через WP. Права выставлены как 7 5 5.

User User
8 сент. 2010 г. 15:51:46

@Lea: Помогли ли вам какие-либо из предложенных ниже ответов решить проблему? Если да, пожалуйста, проголосуйте за них, чтобы поблагодарить людей, которые вам помогли, и выберите лучший ответ, чтобы ваш вопрос не оставался в списке "без ответа".

MikeSchinkel MikeSchinkel
10 сент. 2010 г. 23:31:50
Все ответы на вопрос 7
0

@Lea,

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

Права 755 позволят WordPress записывать файлы, когда PHP работает под именем пользователя на большинстве общих хостинг-планов.

Некоторые FTP-программы позволяют изменить пользователя и группу, назначенные для папок. Вы также можете внести эти изменения с помощью файлового менеджера в Cpanel.

Папки должны иметь то же имя пользователя, что и ваша учетная запись Cpanel.

В некоторых серверных окружениях требуется установить права 777, чтобы PHP получил доступ на запись. Однако это небезопасно в среде общего хостинга. Вы можете временно изменить права на 777, чтобы проверить, позволит ли это загружать фотографии, но ОБЯЗАТЕЛЬНО ВЕРНИТЕ ИХ НА 755 ПОСЛЕ ЗАВЕРШЕНИЯ.

Ваш хостинг-провайдер также может помочь в этой ситуации.

9 сент. 2010 г. 00:35:34
0

Эта проблема встречается довольно часто. Я тоже сталкивался с ней некоторое время назад. В моем случае у всех нужных директорий были права 777. Вот мое решение, а также ряд других методов, которые я пробовал:

  • В моей ситуации нужно было убедиться, что у FTP-аккаунта, который я использовал для WordPress, были права на чтение/запись/исполнение. По непонятной причине, права оригинального аккаунта были сброшены, возможно, хостингом или чем-то ещё. Мы так и не смогли выяснить, что вызвало это изменение. Используя админ-аккаунт, мы снова смогли загружать изображения без проблем.

Эти советы взяты из обсуждения в поддержке WordPress для версии 2.5 (вы можете перейти по ссылке для получения дополнительной информации по любому из пунктов):

  • Убедитесь, что вы загрузили все файлы WordPress корректно.
  • Очистите кэш браузера и перезапустите его.
  • Обновите Adobe Flash до последней версии (особенно пользователи Linux!).
  • Отключите ваши плагины и проверьте, появятся ли кнопки. Если да, включайте их по одному, пока они снова не исчезнут.
  • Обновите все ваши плагины.
  • Популярный плагин Bad Behavior ломает загрузчик. Обновите его до версии 2.0.14 (или новее).
  • mod_security может вызывать проблемы. Отключите его, чтобы проверить, в нём ли дело.
  • Попробуйте изображение с меньшими размерами в пикселях. Размер файла не так важен, как ширина и высота изображения.
  • Иногда проблема в самом изображении. WordPress использует стандартные PHP-функции для работы с изображениями из библиотеки "GD". У GD есть проблемы с определенными типами изображений. Один из таких типов — изображения в градациях серого. Если ваше изображение черно-белое или в градациях серого, убедитесь, что оно полноцветное.
  • В WordPress 2.6 появилась новая проблема при использовании кастомной директории для загрузки файлов. Загрузка будет работать, но ссылка/превью будут некорректными, и изображение не отобразится.
  • Есть ли у вас кастомные настройки на странице Настройки->Разное? Если да, убедитесь, что они верны. Директория загрузки не должна начинаться со слеша (uploads вместо /uploads), а URL не должен заканчиваться слешем.
9 сент. 2010 г. 02:17:23
0

Это помогло мне: я вошел в WordPress под именем пользователя, которое создал при установке, вместо моего оригинального имени пользователя cPanel, у которого были правильные разрешения на моем аккаунте. Я исправил проблему, создав нового администратора WordPress с тем же именем пользователя и паролем, что и у моего пользователя cPanel. Вышел из системы и снова вошел под этим пользователем — проблема решена.

24 апр. 2012 г. 22:09:09
1

Попробуйте добавить разрешения для родительской папки, которой является директория "uploads".

8 сент. 2010 г. 05:00:51
Комментарии

Папка uploads также уже имеет права на запись.

User User
8 сент. 2010 г. 15:51:17
0

Попробуйте загрузить изображения с помощью FTP-клиента и проверьте, возникает ли та же ошибка.

Также проверьте, не создаёт ли какой-либо плагин автоматически миниатюру загружаемого изображения в другой директории.

Ещё можно попробовать изменить стандартную папку для загрузки файлов, если ошибка продолжает появляться.

Надеюсь, что-то из этого поможет (:

8 сент. 2010 г. 19:58:02
0

Одна вещь, которая пришла мне в голову — WordPress может сообщать, что не может скопировать файл в /wp-content/upload, даже если все права настроены правильно... если

upload_max_filesize

в php.ini слишком мал (например, 2 МБ, а вы пытаетесь загрузить файл размером 3,5 МБ)!

Надеюсь, это поможет всем тем, у кого права настроены верно, но загрузка всё равно не работает!

23 июл. 2011 г. 10:37:17
0

В моём случае это было вызвано неправильным значением опции upload_path в таблице wp_options.

Решение состояло в том, чтобы очистить поле опции. Это заставляет WordPress использовать путь для загрузок по умолчанию (<корень_wp>/wp-content/uploads)

MySQL-запрос для этого:

UPDATE wp_options SET option_value = '' WHERE option_name = 'upload_path'
9 мая 2023 г. 09:42:42