Найти в Дзене

Проблемы с обновлениями Битрикс

Общепринятый подход - программное обеспечение необходимо обновлять, поскольку пишут его люди, люди ошибаются, и склонны вносить ошибки в программный код. В случае ПО люди на темной стороне силы ищут ошибки и уязвимости и используют их в своих целях. Битрикс также подвержен уязвимостям, хотя куда менее редким, чем известное мне ПО этого класса. Например, чуть ранее момента написания этого текста было сообщено об уязвимоcтях модуля vote и нескольких других. То есть Битрикс тоже нужно обновлять. Но в его случае дело осложняется тем, что через год после покупки лицензии для продолжения получения обновлений ее необходимо продлять за 25% стоимости. По разным причинам не все готовы на это пойти. Моя политика обновления Битрикс заключается в том, что если проект приносит вам деньги, например, у вас интернет-магазин, то лицензию необходимо поддерживать в активном состоянии, то есть ежегодно ее продлять, получать обновления, пользоваться другими сервисами, которые доступны только при активной л

Общепринятый подход - программное обеспечение необходимо обновлять, поскольку пишут его люди, люди ошибаются, и склонны вносить ошибки в программный код. В случае ПО люди на темной стороне силы ищут ошибки и уязвимости и используют их в своих целях.

Битрикс также подвержен уязвимостям, хотя куда менее редким, чем известное мне ПО этого класса. Например, чуть ранее момента написания этого текста было сообщено об уязвимоcтях модуля vote и нескольких других. То есть Битрикс тоже нужно обновлять. Но в его случае дело осложняется тем, что через год после покупки лицензии для продолжения получения обновлений ее необходимо продлять за 25% стоимости. По разным причинам не все готовы на это пойти.

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

Я бы сказал, что постоянное получение обновлений сильно упрощает жизнь техническому администратору ресурса.

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

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

Ручной запуск задания cron выявил следующую ошибку:

[Error]
Class 'Bitrix\Main\Update\UserSelectorStepper' not found (0)
/bitrix/modules/main/classes/mysql/agent.php(166) : eval()'d code:1
#0: eval
/bitrix/modules/main/classes/mysql/agent.php:166
#1: CAgent::ExecuteAgents()
/bitrix/modules/main/classes/mysql/agent.php:21
#2: CAgent::CheckAgents()
/bitrix/php_interface/cron_events.php:17

Некоторые из агентов выполнялись, но был обнаружен агент, который не выполнился и вызывал подозрения

Bitrix\Main\Update\UserSelectorStepper::execAgent();

Поскольку ошибка происходила в системных файлах, было впоне оправдано обращение в техподдержку Битрикса.

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

Рекомендация была выполнена, все остальные агенты заработали штатно.

Мне не удалось нагуглить эту информацию, поэтому возможно она кому-нибудь пригодится.

Удачи в работе!