Когда я устанавливаю nextgen-gallery
. Появится это сообщение об ошибке
Downloading update from https://downloads.wordpress.org/plugin/nextgen-gallery.zip… Unpacking the update… Could not create directory.
Как я могу исправить эту проблему?
Это вопрос с разрешениями. Убедитесь, что каталог доступен для записи 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 здесь: http://codex.wordpress.org/Changing_File_Permissions#Permission_Scheme_for_WordPress
Ответ @skrilled и @ knutole был замечательный, но я обнаружил, что при попытке исправить проблему в папке плагинов все было в порядке, и ответ не сработал для меня.
Если у кого-либо еще есть эта проблема, попробуйте также посмотреть папку обновлений. Эта папка (из того, что я вижу) используется в качестве папки для хранения временных файлов для обновления WP обновлений или обновлений плагинов.
Если вы просто получите сообщение с сообщением «Не удалось создать каталог», и указан путь не указан, на самом деле он может говорить о папке обновлений.
для людей 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 имя пользователя
измените имя пользователя на то, что ваше текущее имя пользователя.
но вы должны применить разрешения propper. запустите эти команды в вашем каталоге wordpress
sudo find. -type f -exec chmod 664 {} +
sudo find. -type d -exec chmod 775 {} +
Если вы используете vsftpd
качестве своего FTP-сервера и включили пассивные подключения, вам нужно добавить pasv_promiscuous=YES
в /etc/vsftpd/vsftpd.conf
.
У меня была аналогичная проблема. Это началось с того, что я пытался обновить плагин на перенесенной установке WP. Я не понял, все мои разрешения были ТОЧНО такими же, как старый сервер. В моей ситуации я начал понимать, что мало что работает. Я не мог устанавливать / удалять плагины или темы, а также загружать медиафайлы. Затем я нашел исправление через некоторые исследования.
Если у вас все еще есть эта проблема и изменения разрешений НЕ исправить проблему, попробуйте это:
Войдите в свою панель управления хостингом и найдите свои настройки хостинга, где бы вы ни отредактировали свои настройки сценариев. В Plesk (как в моем примере) это будет в разделе «Сайты и домены». Нажмите на свое доменное имя внизу. На следующем экране, где говорится: «Поддержка PHP (запускается как …» меняет выпадающий список из «Apache module» на «Приложение FastCGI» . Все должно быть исправлено сейчас!
(Re) установка разрешений через ftp тоже не меняла. Нет SSH, поэтому мне пришлось войти в панель управления (directadmin в моем случае), в Диспетчере файлов, где я мог бы «Сбросить владельца» в «Сброс владения файлами» в каталог / wp-contents.
Я запускаю Nginx с WordPress. Я удалил папку обновления в wp-содержимом, а затем снова выполнил обновление с помощью графического интерфейса WordPress. Я заметил, что пользователь linux для созданной папки обновления был www-data. Затем я сделал {sudo chmod -R www-data: www-data.} Отправил обновление из GUI, и он сработал.
Вероятно, необходимо изменить разрешения для большинства папок, чтобы они не могли быть изменены с помощью www-данных, но я подумаю об этом завтра.
Проблема с разрешением, убедитесь, что apache (www-data) имеет права на запись.