Распаковка обновления... Не удалось создать каталог. Wordpress

Когда я устанавливаю плагины nextgen-gallery. Появится это сообщение об ошибке

Downloading update from https://downloads.wordpress.org/plugin/nextgen-gallery.zip…

Unpacking the update…

Could not create directory.

Как я могу исправить эту проблему?

Ответ 1

Это проблема с разрешениями. Убедитесь, что каталог доступен для записи с помощью Apache. Плагины распаковываются в каталог wp-content/plugins, поэтому я сначала попытался бы записать в каталог как apache:

sudo -u apache touch /path/to/wp-content/plugins/test.txt

Установите разрешения соответственно, чтобы исправить проблему. Вы можете прочитать о разрешениях здесь: http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions

Вы можете прочитать о правильной схеме доступа к файлам для Wordpress здесь: https://wordpress.org/support/article/changing-file-permissions/

Ответ 2

@skrilled и @knutole ответ был замечательный, но я обнаружил, что, пытаясь исправить проблему в папке плагинов, все было в порядке, и ответ не сработал у меня.

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

Если вы просто получите сообщение с сообщением "Не удалось создать каталог", и нет указанного пути, он действительно может говорить о папке обновлений.

Ответ 3

для людей nginx
если у вас установлен php-fpm, вы должны сказать, что его пользователь и группа nginx./etc/php-fpm.d/www.conf. найдите пользователя, которому по умолчанию присвоен apache, и измените его на nginx. также сделайте это для группы. затем выполните следующую команду:

sudo service php-fpm restart


также внутри вашего каталога wordpress выполните следующие команды

sudo chown nginx:nginx * -R 
sudo usermod -a -G nginx username

измените имя пользователя на то, что ваше текущее имя пользователя.


все же вы должны применить разрешения propper. выполните эти команды внутри вашего каталога wordpress

sudo find . -type f -exec chmod 664 {} + 
sudo find . -type d -exec chmod 775 {} +

Ответ 4

Если вы используете vsftpd в качестве своего FTP-сервера и включили пассивные соединения, вам нужно добавить pasv_promiscuous=YES в /etc/vsftpd/vsftpd.conf.

Ответ 5

У меня была аналогичная проблема. Это началось с того, что я пытался обновить плагин на перенесенной установке WP. Я не понял, все мои разрешения были ТОЧНО такими же, как старый сервер. В моей ситуации я начал понимать, что мало что работает. Я не мог устанавливать/удалять плагины или темы, а также загружать медиафайлы. Затем я нашел исправление через некоторые исследования.

Если у вас все еще есть эта проблема и изменения разрешений НЕ исправить проблему, попробуйте это:

Войдите в панель управления хостингом и найдите настройки своего хостинга, где бы вы ни отредактировали свои настройки сценариев. В Plesk (как в моем примере) это будет под сайтами и доменами. Нажмите на свое доменное имя внизу. На следующем экране, где указано "Поддержка PHP (запустите как..." , измените выпадающий список из "Apache module" на "Приложение FastCGI" . Все должно быть исправлено сейчас!

FastCGI

Ответ 6

(Re) установка разрешений через ftp тоже не меняла. Нет SSH, поэтому мне пришлось войти в панель управления (directadmin в моем случае), в Диспетчере файлов, где я мог бы "Reset Owner" в "File ownership reset" каталог/wp-contents.

Ответ 7

Я запускаю Nginx с Wordpress. Я удалил папку обновления в wp-содержимом, а затем снова выполнил обновление с помощью графического интерфейса Wordpress. Я заметил, что пользователь linux для созданной папки обновления был www-data. Затем я сделал {sudo chmod -R www-data: www-data.} Отправил обновление из GUI, и он сработал.

Вероятно, необходимо изменить разрешения для большинства папок, чтобы они не могли быть изменены с помощью www-данных, но я подумаю об этом завтра.

Ответ 8

Проблема с правами доступа, убедитесь, что у apache (www-data) есть права на запись.

Ответ 9

Все вышеперечисленное прекрасно, но я думаю, что вы упустили простейший вопрос. Ваш сайт использует больше места, чем выделено, и поэтому он сломан. Wordpress делает больше файлов, как это используется. Если вы находитесь на грани перехода, простой ночной выпуск, где вы ничего не сделали, невозможен. Ложись спать, все хорошо. Утром сайт сломался.

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

Ответ 10

Скорее всего, если вы настроили его правильно, http-сервер, связанный с вашим сайтом WordPress, принадлежит группе www-data. Вот как нужно правильно его настроить.

Попробуйте пользователей members www-data и ps aux | grep www-data ps aux | grep www-data чтобы быть уверенным. В последней команде вы должны увидеть в последних столбцах nginx или apache.

В этом случае вам просто нужно установить эту группу в каталог

sudo chgrp -R www-data <your_wordpress_root_dir>/

а затем добавить полные права доступа группы к такому каталогу

sudo chmod -R g+rwx <your_wordpress_root_dir>/

Теперь работает отлично :)