Проблемы обновления 2.4.0 -> 2.5.0

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 13 апреля 2016 в 11:27
Имеется сайт на 2.4.0 с большим количеством сторонних компонентов и недефолтным шаблоном.
При попытках обновления что автоматом, что в ручном режиме при нажатии на кнопку "Установить" возникает ошибка, отображается банально браузерная страничка с текстом, на скрине ниже...
Иллюстрация
Пытался и просто выгружать файлы с заменой из пакейджа в корень сайта, а после импортировать sql-файл из пакета обновления в бд — ничего.
Кеш на сайте отключен в принципе, отладка в конфиге включена, ошибок не отображает :(
У кого какие мысли, как же мне обновиться? Готов уже установить двиг с нуля и портировать все материалы сайта в новый, но их там уже накопилось нехилое количество…
#2 13 апреля 2016 в 11:32
Воспользуйтесь функцией "Проверить обновления" в панели управления InstantCMS

Система сама обнаружит обновление, предложит скачать его и установить.

Для установки потребуется указать реквизиты для доступа по FTP
#3 13 апреля 2016 в 11:33
AndroS, для начала нужно узнать причину.
#4 13 апреля 2016 в 11:36
Khushruz,

При попытках обновления что автоматом, что в ручном режиме

AndroS
Не прокатывает банальщина.
Меня интересует опыт того, кто сталкивался с подобной проблемой невозможности обновиться описанными в документации способами. Жду предложений...
Подозреваю, что можно попробовать поотключать все возможные компоненты, сменить шаблон на дефолт, ну и на крайняк еще атрибуты 777 на всякий случай проставить на все папки.
Но, надеюсь, что есть все же более простой способ обновки или же диагностики текущей ошибки…
#5 13 апреля 2016 в 12:06
Ошибки следующие:

Notice: Use of undefined constant DEBUG_ON — assumed 'DEBUG_ON' in /var/www/user/data/www/site.info/system/config/autoload.php on line 11
Fatal error: Class 'cmsDebug' not found in /var/www/user/data/www/site.info/system/config/autoload.php on line 12

сервер
#6 13 апреля 2016 в 12:09

Ошибки следующие

AndroS
Вот и проблема в том, что у вас класс расширенной отладки не находит движок. Удалили видимо?
#7 13 апреля 2016 в 12:13

класс расширенной отладки не находит движок. Удалили видимо?

Fuze
откатился заново на бекап с 2.4.0, далее заново устанавливаю расширенную отладку, снова пытаюсь обновиться на 2.5.0 и точно такая же ошибка появляется :(
#8 13 апреля 2016 в 12:39

далее заново устанавливаю расширенную отладку

AndroS
Зачем? Если проблема в ее подключении.
#9 13 апреля 2016 в 12:41
Fuze, не подскажите, как ее отключить или удалить вовсе? Я еще прошлый раз намучился с обновлением и тоже, видимо, по этой же причине…
#10 13 апреля 2016 в 13:53
Причина в том, что для быстрого управления включением/отключением расширенной отладки используется константа DEBUG_ON, которая определяется в index.php и, при необходимости, в bootstrap.php. В обновлении 2.5.0 эти два файла были изменены и, следовательно, при их замене константа уже не задаётся. А некоторые файлы, где используется эта константа, остались неизменёнными. После копирования этих файлов не полностью отработало обновление. Вот и вылезли ошибки.

Вообще-то, если в движок вносились какие-то хаки, то нельзя его обновлять автоматически или вручную через стандартную функцию обновления. Нужно сначала смержить эти хаки на новую версию, потом обновить БД из обновления без копирования файлов, а потом скопировать смерженные файлы. А "Расширенная отладка" — это большой хак многих файлов. Без этого она нормально не встроится.

Предлагаю два варианта решения данной ситуации, AndroS:

1. Откатиться к версии 2.4.0 без отладки и потом автоматом или вручную обновить систему стандартным способом.

2. Если есть только бэкап 2.4.0 с расширенной отладкой, то откатиться на него. Потом распаковать instantcms-update-2.5.0.zip в пустую папку и в начало файлов index.php и bootstrap.php в подпапке package после строки
  1. <?php
добавить строки:
  1. if (!defined('DEBUG_ON')) { define('DEBUG_ON', 0); }
Это отключит "Расширенную отладку" в обновлении. Потом нужно заново запаковать в zip-архив пакет обновления и установить его стандартным способом.
На всякий случай я уже сделал такой изменённый пакет обновления. Можете его скачать и установить на 2.4.0 с "Отладкой" обычным способом. Отличие этого пакета от оригинального — только эти строки в двух файлах, всё остальное неизменное.

Естественно, "Расширенная отладка" в обновлённой до 2.5.0 системе работать уже не будет. (Я выпущу её обновление чуть позже.) Зато и ошибок тоже нет. Я только что проверил этот способ на локалке.

Если Вами в движок вносились ещё какие-то хаки, то всё-таки смержите свои изменённые файлы с соответствующими файлами из обновлений.
#11 13 апреля 2016 в 14:22
WebMan, спасибо огромное! Очень выручили, все сработало как нужно!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.