Repository navigation
BAS-IP Gate Manager 2.0.2 «Kronos»
Защита от неполной конфигурации PHP и понятная диагностика.
Исправлено
- Фатальная ошибка заменена понятным сообщением.
UpdateService::makeZip()
иextract()создавалиZipArchiveбез проверки наличия расширенияzip.
Если расширение отключено, автообновление падало с
Error: Class "ZipArchive" not found— теперь обе функции проверяют
class_exists(ZipArchive::class), как это уже было вBackupService.
Поведение подтверждено запуском PHP с выключенным zip: обе функции сообщают
«Расширение PHPzipне установлено — снимок версии создать невозможно»
и «…распаковка обновления невозможна».
Проверено
- 217 тестов / 930 проверок — зелёные на PHP 8.5 (SQLite).
/health.json→200,status: ok, все обязательные расширения
(curl,pdo,mbstring,json,openssl,sodium,zip) загружены.
Требования к окружению (проверьте на своём сервере)
| Расширение | Зачем |
|---|---|
pdo, pdo_mysql |
доступ к БД (MySQL/MariaDB — по умолчанию) |
pdo_pgsql, pdo_sqlite |
PostgreSQL и SQLite (демо, тесты) |
mbstring, json, curl, openssl, fileinfo |
ядро, HTTP, загрузки |
sodium |
шифрование секретов, Argon2id для паролей |
zip |
резервные копии, снимки версий, обновления |
intl |
форматирование дат и чисел (в коде используется опционально) |
Без zip приложение работает, но не сможет ни создать бэкап, ни обновиться —
это первый пункт, который стоит проверить (php bin/bas-ip doctor).
Контрольные суммы
sha256sum -c bas-ip-2.0.2.zip.sha256Автообновление
Канал stable → /releases/latest. Обновление с 2.0.1 на 2.0.2 проходит
штатно. С 2.0.0 на PHP 8.5 обновиться не получится (в 2.0.0 сломан HTTP-слой) —
скачайте архив вручную и распакуйте поверх, затем php bin/bas-ip migrate.