Обновление серверного программного обеспечения — это неотъемлемая часть управления современными ИТ-системами, особенно когда речь идет о таких ключевых компонентах, как PHP. Для пользователей Битрикс24, платформы, широко используемой для управления бизнесом, своевременное обновление версии PHP обеспечивает не только улучшение производительности, но и повышение безопасности.
Переход на версию PHP 8.0 и выше
В этом кейсе мы рассмотрим подробный процесс обновления PHP с версии 7.4 до 8.3 на платформе Битрикс24, включая подготовительные шаги, основные этапы и рекомендации по устранению возможных проблем. Это руководство поможет вам осуществить обновление безопасно и эффективно, минимизируя простои в работе системы и гарантируя ее стабильную работу.
Если команда yum update не функционирует, это, скорее всего, связано с закрытием репозиториев для CentOS 7. Поддержка осуществляется только для более новых версий CentOS.
Загрузка обновлений с зеркал
Для решения этой проблемы необходимо загружать все обновления с зеркальных серверов.
По пути /etc/yum.repos.d нужно найти 2 файла:
1: CentOS-Base.repo
Открыть его, удалить все старое и ввести следующее:
Открыть его, удалить все старое и ввести следующее:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
2: В той же директории расположен файл CentOS-Vault.repo. В нем необходимо внести дополнения, добавив информацию в конце существующей конфигурации, без удаления текущих данных:
# Vault
[Vault-base]
name=Vault - CentOS-$releasever - Base
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
[Vault-updates]
name=Vault - CentOS-$releasever - Updates
baseurl=http://vault.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
[Vault-extras]
name=Vault - CentOS-$releasever - Extras
baseurl=http://vault.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
Все сохранить и нужно ввести 2 команды для очистки текущего кэша yum
- yum clean all
- yum makecache
Обновление PHP
После этого можно попробовать обновить PHP стандартными средствами Bitrix
Для этого нужно переподключиться по SSH в серверу:
Для этого нужно переподключиться по SSH в серверу:
- В основном меню выберите пункт 1. Manage servers in the pool, затем
- 8. Update PHP and MySQL.
- Введите all при запросе.
- Выберите пункт 1. Upgrade PHP или 2. Downgrade PHP и выберите нужную версию PHP.
- Введите y для подтверждения обновления.
- Выбранная версия РНР будет установлена.
Если в процессе обновления появилась ошибка, нужно по пути /etc/yum.repos.d в самом последнем файле (у меня это был remi-php80.repo, у вас может быть и 82 и 83-84)
Нужно вставить следующую конфигурацию. Также нужно учесть, в пункте 3 (Upgrade PHP) были указаны версии, нужно именно та, которая у вас есть. На примере у меня была последняя версия 80, а мне нужно было PHP 8.3 обновить. Для этого я имя оставил старым, а конфиг прописал на новую версию:
Нужно вставить следующую конфигурацию. Также нужно учесть, в пункте 3 (Upgrade PHP) были указаны версии, нужно именно та, которая у вас есть. На примере у меня была последняя версия 80, а мне нужно было PHP 8.3 обновить. Для этого я имя оставил старым, а конфиг прописал на новую версию:
[remi-php80]
name=Remi's PHP 8.3 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php83/$basearch/
mirrorlist=https://rpms.remirepo.net/enterprise/7/php83/httpsmirror
mirrorlist=http://cdn.remirepo.net/enterprise/7/php83/mirror
enabled = 1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
После этого нужно перезапустить сервер битрикс 24 и пробовать обновлять.