Главное меню
все форумы все темы форума добавить тему
Автоматическое обновление
jen:
В LabCMS я столкнулся с тем, что после ручного обновления файлов при условии сохранения содержимого каталога /data получаю пустую страницу и сообщение об ошибке в логах Апача
 
[Tue Aug 16 22:42:40 2011] [error] [client 192.168.123.104] PHP Warning:  include(): Failed opening '/var/www/labcms/kernel/core/index.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/labcms/index.php on line 9

Я бы предположил что у Вас просто произошел сбой при заливке файлов, потому что файл index.php состоит фактически из одной строчки:
PHP
include dirname(__FILE__)."/kernel/core/index.php";

и раз она выполниться не смогла (может файл /kernel/core/index.php не залился или залился с какими-то кривыми правами), то ни о каких алгоритмах обновления и речи не идет (раз уж скрипт тормознулся на первой же строчке).
 
jen:
Обновление cms.ini не помогло. Удаление install.lock

Править руками cms.ini не нужно за исключением настолько редких случаев, что я и придумать-то их не могу Это же касается и install.lock.
 

 
jen:
1. Какую роль играет каталог /kernel/install в уже установленной системе и не влияет ли его наличие на безопасность?

Там хранится скрипт первоначальной установки, файл config.xml, где хранится описание возможных настроек сайта и файлы с номерами версий. После установки реально используется только config.xml и файлы версий (для автообновления). Наличие этой папки на безопасность никак не влияет, так как по прямым ссылкам она не доступна и подключается только в случае отсутствия install.lock
 
jen:
2. Каков механизм работы файлов /updates/**-**.php?

в файле cms.ini хранится текущая версия установленного движка, а в файле /kernel/install/version.php хранится версия кода. Если версии не совпадают, то производится поиск файла /updates/current_ver-*.php, который отвечает за обновление версии. Если же такой файл не найден или найдено несколько таких файлов, то работа будет остановлена и выведено сообщение об ошибке структуре обновлений.
 
jen:
MaxSite обновляю в значительной степени точечной заменой файлов, поскольку пришлось «натоптать» в системе, в том числе благодаря тотальному перемешиванию кода и разметки.

Именно поэтому я и спроектировал систему таким образом, чтобы можно было спокойно "топтать" в собственном скине или модулях, не опасаясь что это перезатрется при обновлении.
 
jen:
А БД там используется как накопитель для контента, комментов, типов страниц, метаданных, сведений о юзерах/группах/разрешениях, так что при обновлении не затрагивается.

А если требуется изменить ее структуру в новой версии?
 
jen:
Мне очень нравится их реализация установки и обновления. В том числе, мне нечасто приходилось получать пустую страницу, если что-то пошло не как надо. Хотелось бы, чтобы и LabCMS пришла со временем к похожему функционалу

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