Wordpress ubuntu не удалось создать директорию
Обновлено: 07.07.2024
Недавно мне потребовалось сделать перенос WordPress сайта с одного домена на другой. Копия сайта нужна была для последующей её переработки на новом домене. Перенос сайта с домена на домен дело не пыльное, задача решена, можно приступать к работе. Обычно так всегда и было, но не в этот раз…
А в этот раз у меня возникли трудности с загрузкой изображений в библиотеку медиафайлов через админку WordPress – появилось следующее уведомление об ошибке:
Файл «****.jpg» загрузить не удалось. Не могу создать директорию wp-content/uploads/2021/06. Проверьте, доступна ли родительская директория для записи.
За более чем пятилетнюю практику работы с WordPress, подобного рода ошибка мне встретилась впервые. Но, как говорится, в любой незнакомой ситуации "Google в помощь". Проанализировав поисковую выдачу я выделил две возможные причины возникновения данной ошибки:
- Отсутствие необходимых прав доступа CHMOD (иногда их еще называют атрибутами) к папке wp-content (CHMOD должно быть равным 700, 755 или 777).
- В настройках сайта прописан не правильный абсолютный путь к файлам Вордпресс, который можно изменить через параметр upload_path на странице глобальных настроек WordPress.
Пошаговое исправление ошибки “Не могу создать директорию wp-content/uploads.”
Первым делом я проверил какое значение установлено в правах доступа к папке wp-content и вложенным в нее папкам и файлам. Оказалось, что там все хорошо и установлено значение 700 - разрешены запись, чтение и выполнение файлов внутри папки. Впрочем, чаще всего с правами доступа всегда все в порядке, в редких случаях могут быть выставлены какие-то ограничения.
Как изменить права доступа к папке wp-content?
Для не очень опытных пользователей поясню, что проверить права доступа к папке wp-content, и в случае необходимости изменить их, можно через файловый менеджер вашего хостинга. Открыв корневую папку своего WordPress сайта вы увидите среди прочих папку wp-content. Кликните по ней правой кнопкой мыши и посредством выпавшего контекстного меню перейдите в раздел свойств вашей папки.
Здесь стоит заметить, что в зависимости от того хостинга, на котором работает ваш сайт, раздел с правами доступа к папке может называться по разному. Так, на моем хостинге Beget , этот раздел называется Изменить атрибуты, а сами настройки атрибутов выглядят вот так:
Убедившись, что ошибка не связана с правами доступа, приступаем к проверке параметра upload_path глобальных настроек WordPress. Для того, чтобы попасть на страницу глобальных настроек вашего вордпресс сайта нужно авторизоваться под учетной записью администратора сайта, а затем в адресной строке браузера прописать следующий адрес:
На открывшейся странице содержится внушительная масса различных параметров и полей, поэтому, чтобы долго не искать нужный нам параметр upload_path, воспользуйтесь поиском встроенным в браузер (сочетание клавиш CTRL + F).
В моем случае в поле этого параметра был прописан абсолютный путь к файлам вордпресс, который принадлежал другому хостингу. Как вы можете помнить, я сделал перенос сайта на другой домен и хостинг.
Далее, для устранения ошибки действуем следующим образом:
- Очищаем поле параметра upload_path и сохраняем настройки. После этого необходимо проверить, заработала ли загрузка изображений в библиотеку медиафайлов или нет. Если не заработала, значит переходим к пункту 2. Обратите внимание: если у вас поле upload_path было изначально пустое и загрузка файлов в библиотеку медиафайлов вашего WordPress сайта все равно не работала, значит вам тоже следует проделать действия, описанные в пункте 2.
- Если действия из пункта 1 вам не помогли, то прописываем в поле параметра upload_path правильный абсолютный путь к файлам Вордпресс (о том, как узнать абсолютный путь к папке с uploads написано ниже).
Как узнать абсолютный путь к папке с uploads
Уточнить абсолютный путь можно в поддержке вашего хостинга, а можно узнать самостоятельно, создав php файл со специальным кодом:
Сохраните файл с любым названием, например patch.php и загрузите в корневую папку сайта. Для того, чтобы выполнить сценарий данного кода, нам необходимо открыть наш файл, сделать это можно набрав в строке браузера следующий адрес:
Результатом выполнения скрипта будет веб-страница со следующим содержимым:
Путь к корневой папке: /home/XXXXX/YYYYY
Добавим к получившемуся результату /wp-content/uploads и получим в итоге такой путь:
Путь к корневой папке: /home/XXXXX/YYYYY/wp-content/uploads
Это и есть нужный нам абсолютный путь к папке uploads. Вставляем его в поле параметра upload_path сохраняем настройки и снова пробуем загрузить изображение. Теперь должно все заработать.
Вот таким не хитрым способом можно решить ошибку Не могу создать директорию wp-content/uploads/», которая могла возникнуть на вашем WordPress сайте при работе с Библиотекой медиафайлов.
После переезда на новый хостинг, мне нужно было опубликовать материал на сайте с десятком скриншотов, как и полагается я зашел в редактор и начал писать текст, но при заливке файлов начала вылазить ошибка типа:
Первое мнение, не выставлены права CHMOD на папку uploads/2015/10, но даже после рекурсивной установки прав 777, на все директории внутри uploads, ошибка не куда не исчезает. А одним плагином special text boxes пост не украсить, тем более нужно в каждую публикацию загружать уникальные скриншоты.
Так как же быть?
Как решить проблему с созданием директории?
Я вижу несколько путей решения, мне помог последний пункт, но вам возможно поможет другой. Советую начинать с первого и идти дальше.
Ещё есть вариант загрузки файлов вручную через FTP клиент или файлменеджер хостинга, но если сайт живой и обновляться часто, этот способ надоест через неделю. Давайте перейдем к реальным действиям.
1. Установка CHMOD прав на папки.
Лично мне это не помогло, но начните именно с этого, на папке Uploads должны стоять CHMOD 777 или 755 в зависимости от хостинга.
Попробуйте установить права так же на папку с годом и месяцем и после этого заливайте файл через редактор и смотрите, если ошибки нет и файл залился, то проблема решена и дальше ничего не нужно делать.
2. Указываем новые пути к папке uploads
После смены хостинга точный путь до папки wp-content/uploads/ изменятся и его нужно заменить обязательно, в противном случаи wordpress будет обращаться к несуществующей директории.
Теперь нужно указать точный путь от корневой папки хостинга к папке uploads, для этого создаем в любой папке файл с таким содержимым:
Читайте также: