Appearance
Обновление PHP: исправления безопасности
22 октября 2026 года вышли обновления всех поддерживаемых веток PHP с исправлениями уязвимостей.
BearPass работает на PHP 8.2 и новее. Обновите PHP до версии с исправлениями в той ветке, которая установлена у вас:
| Ветка PHP | Версия с исправлениями |
|---|---|
| 8.5 | 8.5.12 |
| 8.4 | 8.4.27 |
| 8.3 | 8.3.36 |
| 8.2 | 8.2.35 |
Переходить на другую ветку для установки исправлений не нужно.
Рекомендуем обновить PHP на всех серверах с BearPass. Обновление затрагивает только PHP: код приложения, база данных и настройки не меняются, миграции запускать не нужно.
Выберите инструкцию по способу установки:
- Прямая установка — PHP установлен на сервер из пакетов (Debian, нативная установка на Astra Linux)
- Установка в Docker — PHP находится внутри образов
bearpass/appиbearpass/cron
Прямая установка
Инструкция подходит для серверов, где PHP установлен из репозитория packages.sury.org (или его зеркала mirror.yandex.ru), как описано в разделе Настройка окружения. Команды выполняются от root или через sudo.
1. Проверьте текущую версию
shell
php -vЕсли версия не ниже указанной в таблице для вашей ветки, обновлять ничего не нужно.
Команды ниже приведены для PHP 8.5. Если у вас другая ветка, замените в них 8.5 на свою: 8.4, 8.3 или 8.2.
TIP
Поддержка безопасности PHP 8.2 заканчивается 31 декабря 2026 года — после этой даты исправления для неё выходить не будут. Рекомендуем перейти на PHP 8.5 по инструкции из раздела Обновление.
2. Обновите пакеты PHP
shell
apt update
apt install --only-upgrade 'php8.5*'Ключ --only-upgrade обновляет только уже установленные пакеты этой ветки PHP и не устанавливает новые расширения.
Проверьте, какая версия установилась:
shell
php -vОжидаемый вывод для PHP 8.5 начинается со строки:
PHP 8.5.12 (cli) ...Зеркало ещё не обновилось
Если после обновления версия не изменилась (например, осталась 8.5.11), значит зеркало mirror.yandex.ru ещё не синхронизировалось с основным репозиторием. Дождитесь синхронизации и повторите шаг 2 либо переключитесь на основной репозиторий — ключ подписи у них общий:
shell
sed -i 's#https://mirror.yandex.ru/mirrors/packages.sury.org/php/#https://packages.sury.org/php/#' /etc/apt/sources.list.d/php.list
apt update
apt install --only-upgrade 'php8.5*'3. Перезапустите PHP-FPM
Новая версия начнёт обрабатывать запросы приложения только после перезапуска PHP-FPM:
shell
systemctl restart php8.5-fpmУбедитесь, что служба запущена и использует новую версию:
shell
systemctl status php8.5-fpm
php-fpm8.5 -vЗадания планировщика (artisan schedule:run в crontab) запускаются через PHP CLI и подхватят новую версию сами, перезапускать cron не нужно.
4. Проверьте работу приложения
Из корня приложения (например, /var/www/bearpass/) выполните:
shell
php artisan main:health-checkЗатем откройте BearPass в браузере и убедитесь, что вход и просмотр паролей работают.
Установка в Docker
В Docker PHP входит в состав образов bearpass/app и bearpass/cron. Обновлять PHP внутри контейнера не нужно — достаточно загрузить обновлённые образы.
- Перейдите в директорию с docker-файлами
shell
cd /opt/bearpass/docker/Примечание
Путь до файлов с приложением /opt/bearpass/ может отличаться, подставляйте в команду актуальный для вашей системы
- Актуализируйте docker-файлы до последней версии
shell
git pull- Загрузите обновлённые образы
shell
docker compose pull- Пересоздайте контейнеры
shell
docker compose up -dDocker пересоздаст только контейнеры, образы которых изменились. Данные хранятся вне контейнеров — в каталогах app и database рядом с docker, — поэтому при пересоздании они не теряются.
- Проверьте версию PHP в контейнерах
shell
docker compose exec app php -v
docker compose exec cron php -vВ обоих случаях вывод должен начинаться с PHP 8.5.12.
- Проверьте работу приложения
shell
./bearpass main:health-check- Удалите старые образы, чтобы освободить место на диске (необязательно)
shell
docker image prune -f