Как предотвратить ошибки установки плагинов и тем в WordPress?
Я не могу установить ни одну тему/плагин в WordPress 3.0
Загрузка установочного пакета с http://downloads.wordpress.org/plugin/contact-form-7.2.3.1.zip…
Распаковка пакета…
Установка плагина…
Не удалось скопировать файл. /public_html/blog/wp-content/plugins/contact-form-7/languages/wpcf7-lt_LT.po
Ошибка установки плагина.
Загрузка установочного пакета с http://wordpress.org/extend/themes/download/piano-black.2.2.zip…
Распаковка пакета…
Не удалось создать директорию. /public_html
Загрузка установочного пакета с http://downloads.wordpress.org/plugin/contact-form-7.2.3.1.zip…
Распаковка пакета…
Не удалось создать директорию. /public_html/blog/wp-content/upgrade/contact-form-7.tmp/contact-form-7
Каждый раз получаю подобные сообщения. Есть ли решение?
Обновление 12.01.2012: Если вы используете последнюю версию WP (3.1 и выше, на сегодня 3.3.1), у вас не будет таких проблем. Эти ошибки были исправлены. Наслаждайтесь вашим WP.
головой_об_стол
Права доступа для всех файлов WordPress должны быть 644. Права доступа для всех директорий WordPress должны быть 755.
Исключения:
- Директория uploads может потребовать прав 775 или 777, в зависимости от конфигурации вашего сервера.
- Файл wp-config.php должен иметь права 600, 640 или 644 — выбирайте минимально возможное значение, которое работает.
Никогда не устанавливайте права выше указанных. Иначе вас ждут серьезные проблемы.
Если у вас возникают трудности с записью файлов, первым делом установите плагин Core Control и попытайтесь определить, что именно не работает. В частности, модуль "Filesystem" позволяет диагностировать, какой механизм пытается использовать WP_Filesystem. Это поможет вам не тратить время на неправильные решения: http://wordpress.org/extend/plugins/core-control/
Как только вы определите механизм (скорее всего, это FTP-метод или прямой метод), вы будете лучше понимать, как подойти к решению проблемы.
- Если это прямой метод, то у вас либо проблема с владельцем файлов, либо с правами доступа.
- Если это FTP, то возможны проблемы с loopback-подключением или с владельцем файлов.

Это мне не помогло. Я могу устанавливать некоторые плагины, но не тот, который создал сам. Если я загружаю плагин через FTP и активирую его, он работает. Плагин Core Control тоже не помог мне понять проблему. Я пробовал менять права на папке upgrade с 755 на 777, удалять и создавать её заново, но всё равно безрезультатно.

Ага! Я нашёл источник своей проблемы. В zip-архиве моего плагина был Linux-алиас, который я забыл удалить. Это что-то вроде ярлыка для папки. Функция fopen WordPress в direct-методе давала сбой, а поскольку WordPress использовал @fopen, я не мог увидеть ошибку. Мне пришлось пошагово пройти через wp-admin/includes/class-wp-filesystem-direct.php, пока я не нашёл этот fopen, убрал @, перезапустил тест и обнаружил проблему. Я удалил папку с алиасом из zip-архива, и теперь всё работает отлично.

Проверьте права доступа к вашей папке. Скорее всего, для вашей папки установлены неправильные права доступа.
Права доступа должны быть установлены в 777. Если у вас на хостинге есть cPanel, то это будет легко сделать, так как графический интерфейс похож на Windows.

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

Права доступа — весьма вероятная причина проблемы. Я бы даже рекомендовал связаться с технической поддержкой вашего хостинг-провайдера и уточнить, какие права должны быть установлены на папки/файлы, которые серверное приложение должно изменять.

Вы рекурсивно меняете разрешения? Для /public_html/blog/wp-content/plugins/ потребуются права 755, 775 или 777 в зависимости от того, являетесь ли вы тем же пользователем, той же группой или ни тем, ни другим, соответственно, что и владелец файла/папки. Я согласен с phwd, что 777 следует использовать только в крайнем случае.
