C 30 июня 2019 года, компания 1С-Битрикс прекратила поддержку и развитие своих продуктов работающих на PHP версии ниже 7.1. Примерно такое сообщение сейчас может увидеть владелец любого сайта работающего под управлением 1С-Битрикс Управление сайтом.
Но это не единственная причина, часто бывает так, что ваш хостер собирается обновить программное обеспечение на сервере, таким образом вынуждая вас обновиться или искать другой хостинг. Это конечно добавляет головной боли, но есть и позитивные моменты.
Наши замеры показали, что разработчики компании 1С-Битрикс значительно переписали и оптимизировали ядро, используя новые функции и технологии. Что при прочих равных значительно увеличивает скорость работы сайта, снижает нагрузку на ресурсы сервера.
Мы накопили достаточно большой опыт переноса активных проектов под управлением 1С-Битрикс на PHP 7.1 и более актуальные версии. Ниже представлен рабочий план переноса принятый в агентстве.
- Проверить актуальность лицензии 1С-Битрикс.
- Изучить сайт на предмет наличия других скриптов.
- Подготовить временный «транзитный» хостинг.
- Настроить требуемое окружение, включая PHP 7.1
- Сделать копию существующего сайта на рабочем поддомене.
- Проверить корректность работы 1С-Битрикс и всех остальных скриптов.
- Синхронизируем и данные с рабочей версией сайта.
- Переносим на обновленный сайт рабочий домен.
- Обновляем версии по и необходимого окружения на сервере.
- Еще раз все тщательно тестируем и проверяем.
- Отключаем временный хостинг, удаляем ненужные резервные копии.
Схема действующая, продвинутый пользователь может закрывать страничку и переходить к практической части. Для менее опытных пользователей опишем каждый пункт немного более детально.
Проверить актуальность лицензии 1С-Битрикс. Тут все просто, заходим в административный интерфейс, переходим в раздел Marketplace → Обновление платформы. Затем скролим в самый низ страницы и находим информацию о своем ключе.
Если лицензия не актуально ее нужно обновить или актуализировать, без этого обновления системы будут не доступны. Проверить лицензию можно используя специальную форму на сайте 1С-Битрикс.
Изучить сайт на предмет наличия других скриптов. Важный пункт, довольно часто сталкиваемся с ситуацией, когда владельцы сайтов абсолютно убеждены в том, что сайт работает исключительно на Битрикс и не использует других скриптов. Но проверка показывает обратное, это может быть что угодно: форум на phpbb, база знаний на вики-движке, блог на базе Вордпресс и еще что угодно.
Рекомендуем потратить немного времени на подробное изучение вашего сайта. Что бы после переезда на семерку, вы не оказались с кучей неработающих разделов.
Подготовить временный «транзитный» хостинг. Не рекомендуем обновлять движок на рабочем домене. В некоторых случаях обновление проходит почти без проблем, но иногда на разбор причин некорректной работы скрипта может уйти несколько дней. Все это время посетители сайта буду видеть ошибки на страницах или вообще не смогут воспользоваться привычным функционалом. Думаем не нужно объяснять почему это плохо. Именно по этой причине нам нужен временный «контейнер для экспериментов».
Для этих целей нам не нужен супер сервер, достаточно обычного облачного хостинга, на время экспериментов и переносов. Для этих целей, лучше использовать облачные тарифы с почасовой тарификацией и с возможностью устанавливать необходимое серверное программное обеспечение без оплаты за лицензии, панели управления и прочие дополнения.
Настроить требуемое окружение. Далее на приобретенном облачном хостинге нам нужно установить окружение, которое будет максимально точно повторять наш основной хостинг после перехода на обновленную версию PHP. Список будет довольно большой: версия линукс, базы данных mysql, веб-сервер, различные скрипты кеширования и библиотеки.
Сделать копию существующего сайта на рабочем поддомене. Тут все более менее понятно с единственной оговоркой, иногда проще сначала сделать копию работающего сайта на текущей версии движка и PHP, и только после этого на временной копии делать обновления Битрикс и серверного ПО.
Важный момент! Не забывайте закрыть временный сайт от индексирования поисковыми системами, в противном случае можете неожиданно получить в поисковой выдаче зеркало вашего сайта.
Проверить корректность работы 1С-Битрикс и всех остальных скриптов. Обязательный и очень ответственный пункт работы. Как минимум необходимо проверить все основные сценарии работы пользователей с сайтом. К примеру, если на сайте есть корзина, нужно обязательно проверить ее работу и убедиться, что все работает хорошо, заказ отправляется в обработку, скидки рассчитываются корректно и все остальные связанные процессы обрабатываются корректно.
Синхронизируем и данные с рабочей версией сайта. Если у вас сайт услуг, данный этап можно пропустить. Если у вас довольно популярный интернет магазин или сайт на котором пользователи активно генерируют контент. Вам обязательно нужно подумать о синхронизации данных с временной версией сайта. Это могут быть: заказы в интернет-магазине, новые регистрации; отзывы клиентов, публикации, комментарии и другие подобные данные.
Переносим на обновленный сайт рабочий домен. Достаточно простой этап работ. Единственно о чем нужно планировать время переноса таким образом, чтобы на сайте была минимальная пользовательская активность. Даже для больших проектов, время разрыва в работе должно составлять не более 10-15 минут, обычно все делается быстрее.
Обновляем версии ПО и необходимого окружения на сервере. Обычно более новые версии языков разработки имеют обратную совместимость, поэтому оптимизированный под седьмую версию пхп скрипт, скорее всего будет работать корректно на более ранних версиях языка. Но тем не менее, появляются новые функции, процедуры, которые могут неправильно обрабатываться интерпретатором языка.
Поэтому, затягивать с обновлением ПО на вашем сервере не стоит. Как только вы перенесли обновленную версию сайта на сервер, сразу делайте переходите к обновлению программного окружения на сервер до запланированных версий.
Еще раз все тщательно тестируем и проверяем. Не пренебрегайте заключительным тестированием! Несмотря на то, что вы старались максимально точно повторить окружение вашего сервера, оно все равно будет немного отличаться. Эти отличия могут быть существенными или не очень, но лучше все еще раз проверить и убедиться что все процедура прошла корректно.
На этом почти все! Не забудьте отключить «транзитный» хостинг, удалить временные рабочие копии и бекапы.
Теперь можно зайти в админку и посмотреть на сколько сильно увеличилась производительность вашего сайта. Результатами обязательно поделитесь с нами.