Atrax
(@atrax)
Ethical engineer
Сергей, а ты готов к шквалу претензий от разъяренных пользователей, которые «ничего не делали»? 🙂
Не факт, что он будет настолько популярен 🙂 Предполагаю, что основной аудиторией станут те, кто знает, что делает (как автор темы). И не факт, что напишу его я 🙂 Пока просто добавил в список возможных идей.
Модератор
Yuri
(@yube)
Предполагаю, что основной аудиторией станут те, кто знает, что делает
Оптимист Вы, батенька 🙂 Мне чего-то кажется, что первым делом поставят те, кто слышали, что опасно не обновляться (сам Билл Гейц сказал!), но боятся это делать вручную, ибо ничего в этом не понимают, но при этом наивно полагают, что компьютер умный (даже обыграл людей в викторине) и сам знает, что и как делать.
Плюсы и минусы, как мне кажется, обсуждать бессмысленно, т.к. можно просто это реализовать с защитой от дурака, например, тем же самым кроном. Спасибо Сергею за решение.
Эту тему сам не нашёл, а ткнули меня сюда отсюда 🙂
Поэтому здесь и распишу обобщённое решение для обновления самого WP + всех плагинов с использованием простенькой «закрывалки».
Сам скрипт крона:
cd /home/путь-до-wp
wget http://ru.wordpress.org/latest-ru_RU.zip
mv .htaccess .htaccess_
cp -r .htaccess+ .htaccess
unzip latest-ru_RU.zip
cp -r wordpress/* .
rm -r wordpress
rm -r latest-ru_RU.zip
cd /home/путь-до-wp/wp-content/plugins
for plugin in "find * -type d -prune"
do
wget http://downloads.wordpress.org/plugin/$plugin.zip
rm -R $plugin
unzip $plugin.zip
rm $plugin.zip
done
cd /home/путь-до-wp
mv -f .htaccess_ .htaccess
wget http://домен.ru/wp-admin/upgrade.php?step=upgrade_db -O /dev/null
Содержимое .htaccess+:
ErrorDocument 403 /reconstruction.php
ErrorDocument 404 /reconstruction.php
<files reconstruction.png>
order allow,deny
allow from all
</files>
<files reconstruction.php>
order allow,deny
allow from all
</files>
Order Allow,Deny
Примерное содержимое reconstruction.php:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset=utf-8 />
<title>Извините, в данный момент сайт находится на реконструкции</title>
</head>
<body style="background-color:white;text-color:black;text-align:center;">
<h2>Извините, в данный момент сайт находится на реконструкции</h2><br />
<img src="/reconstruction.png" alt="Извините, в данный момент сайт находится на реконструкции" style="border:none;width:300px;height:411px">
</body>
</html>
Можно попробовать вместо копирования и восстановления .htaccess
создавать файл .maintenance
с такой строкой:
<?php $upgrading = time(); ?>
Тогда сообщение «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту» будет отображаться самим WordPress.
Хотя у текущей реализации плюс в том, что можно настроить вид страницы.
Модератор
Yuri
(@yube)
будет отображаться самим WordPress
imho это нехорошо. Не стоит дергать движок, находящийся в неопределенном состоянии. У меня как-то раз покорёжило БД из-за того, что открыл сайт (благо тестовый), на котором не хватало одного файла в wp-includes. Имя файла и версию движка уже не помню. Но с тех пор с опаской отношусь к апдейтам «по живому».
Сообщение отображается в самом начале, после загрузки всего трёх файлов:
require( ABSPATH . WPINC . '/load.php' );
require( ABSPATH . WPINC . '/default-constants.php' );
require( ABSPATH . WPINC . '/version.php' );
Сейчас обнаружил, что в этом случае вид страницы тоже можно настроить, создав файл wp-content/maintenance.php
.
Не стоит дергать движок, находящийся в неопределенном состоянии.
Да, наверное, тоже правильно 🙂
Atrax
(@atrax)
Ethical engineer
Вот вам делать нечего 🙂 это ж ящик Пандоры
Для нас, во всяком случае…
Предполагаю, что Lob1AV таким образом экономит время при обновлении WordPress на тестовых площадках хостеров 🙂