Что делать, если автоматическое обновление завершилось неудачей

Что делать, если автоматическое обновление завершилось неудачей

Выход новых версий WordPress происходит регулярно: устраняются разнообразные уязвимости, решаются вопросы с безопасностью, добавляется уникальный функционал. В данном контексте очень важно проводить своевременное обновление, которое совершается очень просто: с помощью одного щелчка мышью в панели администратора. Несколько минут – и WordPress обновлился до новой версии. Однако бывают ситуации, когда автоматическое обновление WordPress заканчивается провалом. Давайте посмотрим, почему это происходит, и что в таком случае можно сделать.

Как выглядит ошибка автоматического обновления в WordPress?

После инициации автоматического обновления ядра WordPress (скажем, от версии 3.1.0 до 3.1.1) на экране “Update WordPress” будут отображаться статусы, характеризующие каждый шаг обновления:

Downloading update from http://wordpress.org/wordpress-3.1.1.zip…
Unpacking the update…
Verifying the unpacked files…
Installing the latest version…

Пока, вроде бы, все в порядке. Давайте посмотрим, что произойдет дальше.

В нашем случае сообщение, стоящее перед “Installation Failed”, раскрывает суть возникшей проблемы. Это самый простой вариант ошибки. В более сложных ситуациях статусы вообще не выводятся на экран, поэтому приходится разбираться в возникшей проблеме самостоятельно. Более того, в результате такой проблемы доступ к сайту может быть заблокирован для всех пользователей, включая администратора. Если администратор попытается загрузить какую-либо из страниц своего сайта, он получит на экран страницу со следующим содержанием:

Briefly unavailable for scheduled maintenance.
Check back in a minute.

Очень сложно справиться с проблемой, если вы не можете залогиниться как администратор. К счастью, решить вопрос можно и без администраторских полномочий. Достаточно использовать доступ через FTP: пройти в корневую директорию и удалить файл .maintenance. Если ваш FTP-клиент не видит файлов, начинающихся с точки, попробуйте войти в панель управления вашего сервера и использовать файловый менеджер для поиска и удаления требуемого файла. На следующем скриншоте представлен файл .maintenance в корневой директории WordPress:

Этот файл содержит переменную, которая используется функцией wp_maintenance:

<?php $upgrading = 1302115706; ?>  

Если вы столкнулись с блокировкой доступа к своему ресурсу, просто удалите файл .maintenance, чтобы справиться с проблемой. Как только вы сделаете это, вам вновь откроется доступ к панели администратора и другим страницам сайта. Оказавшись в панели администратора, вы можете увидеть небольшое уведомление, которое информирует вас о недавнем провале автоматического обновления:

An automated WordPress update has failed to complete – please attempt the update again now.

К этому времени у вас будет два варианта дальнейшего развития событий: либо упорно продолжать процесс автоматического обновления, пока он не приведет к каким-либо результатам, либо скачать свежий релиз и установить его вручную. Бывает так, что ручная загрузка новой версии системы позволяет справиться с проблемой.

Проверка прав доступа к файлам

Установка надлежащих прав доступа к файлам – один из способов справиться с различными неприятностями, возникающими в процессе автообновления. В разделе “Обновление Консоли” кодекса WordPress можно увидеть следующий совет, касающийся решения проблем:

Удостоверьтесь в том, что ваша директория WordPress связана с тем пользовательским именем, под которым запущен сервер Apache. К примеру, если ваш сервер запущен как https, и ваши файлы лежат в папке /var/wordpress, используйте “chown -R apache.apache /var/wordpress.”

Наряду с этим вы можете также попытаться изменить права доступа для директории /upgrade/. Как показано на следующем скриншоте, WordPress использует папку /upgrade/ для хранения временного файла, создаваемого в процессе установки:

Для того чтобы временный файл был создан в каталоге /upgrade/, он (каталог) должен быть перезаписываемым для сервера. Чтобы понять, послужило ли это причиной возникновения проблем, попробуйте изменить права доступа для каталога на 777 (или на любой другой CHMOD эквивалент), после чего повторите процесс автоматического обновления. Если это сработало, то вопрос решен, правда, с небольшой оговоркой: вы должны использовать такие права доступа, которые выставляют самые жесткие ограничения из всех возможных. Получить такую комбинацию можно как опытным путем, так и с помощью изучения различных справок. Online CHMOD Calculator поможет вам с подбором подходящих прав доступа.

Отключение безопасного режима

Отключение безопасного режима, если оно разрешено, может помочь справиться с проблемами, вызванными автоматическим обновлением. Согласно PHP-руководству, начиная с версии PHP 5.3.0 безопасный режим считается устаревшей возможностью. Отключить безопасный режим можно несколькими способами. Самый простой способ – отключение безопасного режима в панели управления сервера, но этот способ не всегда доступен. Обходной путь – добавление следующего сниппета в файл php.ini:

safe_mode = Off

или следующего сниппета в конфигурационный файл Apache:

<Directory /var/www/public>
 php_admin_flag safe_mode off
</Directory>

Добавьте этот код в файл httpd.conf и перезапустите Apache.

Определение FTP переменных в файле wp-config.php

Еще один способ вернуть к работе автмоатическое обновление – задать необходимые переменные в файле wp-config.php. Для этого метода существует множество различных вариаций, так что вам придется экспериментально выяснять требуемые переменные. Лично у меня сейчас стоит следующая рабочая конфигурация:

define('FS_CHMOD_FILE', 0755);
define('FS_CHMOD_DIR', 0755);
define('FS_METHOD', 'ftpext');
define('FTP_BASE', '/httpdocs/');
define('FTP_CONTENT_DIR', '/httpdocs/wp-content/');
define('FTP_PLUGIN_DIR ', '/httpdocs/wp-content/plugins/');
define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', '123.456.789');
define('FTP_SSL', false);

Разместите этот фрагмент кода над строкой “That’s all, stop editing! Happy blogging.” Не забудьте изменить имя пользователя, пароль и другие данные, используемые в остальных переменных.

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

http://digwp.com/2011/04/wordpress-auto-updates/

Сохранено из oddstyle.ru

Добавить комментарий

%d такие блоггеры, как: