PHP 8.4: OpenSSL: минимальная требуемая версия увеличена до 1.1.1
В PHP 8.4 и более поздних версиях минимальные требования для сборки расширения OpenSSL увеличены с 1.0.1 до 1.1.1. Расширение по-прежнему совместимо с OpenSSL.
Обратите внимание, что OpenSSL 1.1.1 (выпущен в сентябре 2018 года) достиг своего End-Of-Life. Рекомендуется использовать более свежую версию или полагаться на источник программного обеспечения, который поддерживает бэкпорт патчей безопасности для старых версий (например, Ubuntu LTS или RHEL/Rocky/EL). Главным нововведением в OpenSSL 1.1 является поддержка TLS 1.3. С этим изменением расширение PHP OpenSSL может с уверенностью предположить, что поддержка TLS 1.3 будет доступна на стороне клиента.
Причиной смены версии является то, что некоторые операционные системы Linux к моменту выхода PHP 8.4 достигнут даты окончания срока службы, и их следующие версии будут содержать в своих репозиториях по умолчанию как минимум OpenSSL 1.1.1 и более поздние версии.
Название дистрибутива | Версия OpenSSL | Дата EOL |
---|---|---|
Debian buster | 1.1.1n | Июнь 2024 |
Ubuntu 20.04 | 1.1.1f | Апрель 2025 |
RHEL/CentOS 7 | 1.0.2 | Июнь 2024 |
RHEL/Rocky/EL 8 | 1.1.2 | Июнь 2024 |
Fedora 38 | 3.0.9 | Июль 2025 |
Большинство операционных систем уже предоставляют OpenSSL версии 1.1.1 или более поздней. Как показано в таблице выше, это касается только RHEL/Cent OS 7. Даже на RHEL/CentOS 7 можно скомпилировать PHP, скомпилировав расширение с более новой версией пакета openssl-devel
.
Изменения в сборке
В PHP 8.3 и более ранних версиях расширение OpenSSL имело флаг компиляции --with-kerberos
для обеспечения поддержки наборов шифров Kerberos в TLS.
Поддержка набора шифров Kerberos была удалена в OpenSSL 1.1.0, и расширение PHP OpenSSL больше не поддерживает сборку расширения с поддержкой Kerberos.
В PHP 8.4 этот флаг удалён, и при передаче его в скрипт ./configure
теперь в конце выдаётся предупреждение, что этот флаг не поддерживается.
Влияние на обратную совместимость
Это изменение увеличивает минимальную поддерживаемую версию библиотеки OpenSSL для расширения PHP OpenSSL до 1.1.1.
За исключением серии RHEL/CentOS 7, операционная система, скорее всего, предоставляет OpenSSL версии 1.1.1 или более позднюю, и поэтому данное изменение не окажет никакого влияния. RHEL/CentOS 7 достигнет End-Of-Life на момент выхода PHP 8.4.