Close
Оставьте заявку на консультацию
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности.
Статьи

Обновление PHP в Битрикс24

Обновление серверного программного обеспечения — это неотъемлемая часть управления современными ИТ-системами, особенно когда речь идет о таких ключевых компонентах, как 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 в серверу:
  1. В основном меню выберите пункт 1. Manage servers in the pool, затем
  2. 8. Update PHP and MySQL.
  3. Введите all при запросе.
  4. Выберите пункт 1. Upgrade PHP или 2. Downgrade PHP и выберите нужную версию PHP.
  5. Введите y для подтверждения обновления.
  6. Выбранная версия РНР будет установлена.
Если в процессе обновления появилась ошибка, нужно по пути /etc/yum.repos.d в самом последнем файле (у меня это был remi-php80.repo, у вас может быть и 82 и 83-84)

Нужно вставить следующую конфигурацию. Также нужно учесть, в пункте 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 и пробовать обновлять.
Кейсы