Как лучше организовать автообновление скрипта

t43

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

WMix

герр M:)ller
Партнер клуба
что значит "автообновление" вирус пишешь неуловимый?
 

t43

Новичок
что значит "автообновление" вирус пишешь неуловимый?
Нет, нужно сделать обновление CMS, проверка наличия обновления по cron, а вот как сделать замену фалов ядра, без нарушения (на время обновления) работоспособности.
 

WMix

герр M:)ller
Партнер клуба
нужно обновление так написать чтоб ничего не поломало, а обновление делать таким скриптом который ни от чего не зависит!
 

keltanas

marty cats
Нужно, чтобы во время обновления скрипт работал.
А какие у тебя возникли с этим проблемы?
PHP:
<?php
$c = file_get_contents(__FILE__) . sprintf('// selfupdatedat %s', date('c')) . PHP_EOL;
file_put_contents(__FILE__, $c);
print $c;
Или ты решил бежать спрашивать, даже не попробовав ни одного варианта?
 
  • Like
Реакции: t43

keltanas

marty cats
WMix
Это на демосервере можно. Но, мне больше composer update нравится.
А на продакшен лучше рабочий и протестированный билд заливать.
 
  • Like
Реакции: AmdY

t43

Новичок
keltanas
Вопрос не в том как обновить файл (произвести запись), а в том, что если файлов много процесс обновления займёт долгое* время, и при запросе пользователя в момент обновления могу быть ошибки.

К примеру есть файл a.php, его подключает файл z.php, во время обновления мы переименовали файл a.php в b.php, но ещё не успели сделать изменения в z.php как пришёл запрос.
 

hell0w0rd

Продвинутый новичок
t43
сначала качаешь, потом заменяешь файлы, это выполнится быстро, если очень хочется - выставляй заглушку)
 
  • Like
Реакции: t43

keltanas

marty cats
t43
Многое зависит от того, на хостиг-площадке какого типа находится твой сайт.
Если у тебя виртуальный хостинг и сайт не большой, то на время выполнения обновления можно положить в .htaccess реврайт на заглушку, или поместить заглушку в index.php, которая буде возвращать код 503.
Потом обновлять весь сайт и в конце обновления вернуть правильные htaccess или index.php

Если свой сервер или vds, можешь развернуть новую вервию сайта в соседней директории, а потом переключить виртуальных хост сайта на новый каталог. Словом, на некоторых виртуальных хостингах такое тоже можно провернуть.
 
  • Like
Реакции: t43
Сверху