Bug 49714 - Сборка php-cgi (PHP 7, 8.1, 8.2)
Summary: Сборка php-cgi (PHP 7, 8.1, 8.2)
Status: CLOSED FIXED
Alias: None
Product: Branch p10
Classification: Unclassified
Component: php-base (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Anton Farygin
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-15 19:38 MSK by Анатолий Кирсанов
Modified: 2024-03-27 11:44 MSK (History)
1 user (show)

See Also:


Attachments
PHP 8.2.16 - phpinfo() (420.64 KB, image/png)
2024-03-18 23:46 MSK, Анатолий Кирсанов
no flags Details
Параметры OPCache когда он не доступен (155.16 KB, image/png)
2024-03-19 12:52 MSK, Анатолий Кирсанов
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Анатолий Кирсанов 2024-03-15 19:38:28 MSK
По мотивам https://forum.altlinux.org/index.php?topic=48548.0

Пересборку пакетов с помощью epm пробовали, из пакета для 4-й платформы - тоже.

Собирать только для самой свежей, которой, кстати в Альт нет - это 8.3, нет смысла. Нужна сборка для всех актуальных в P10 версий. В этом сила Альт - множество альтернативных версий PHP. Не хватает только php-cgi.
Comment 1 Anton Farygin 2024-03-16 10:38:58 MSK
расскажите, пожалуйста, подробнее про сценарии использования php-cgi.
С момента отключения сборки этого SAPI прошло очень много времени и мне казалось что все уже давно перешли на FCGI интерфейс.
Comment 2 Анатолий Кирсанов 2024-03-16 13:06:39 MSK
(Ответ для Anton Farygin на комментарий #1)
> расскажите, пожалуйста, подробнее про сценарии использования php-cgi.
Стандартный WEB-сервер не для разработки.

nginx -> Apache -> fcgid_module -> PHP

nginx, как обычно, отрабатывает статику и https.
Apache нужен для фрейморков и CMS, накарябанных с ним в мозгу. Они могут работать (и работают) на голом nginx + php-fpm. Но всегда есть беспокойство, что ты вылез на площадь с голым задом и кто-то пристраивается. Лучше в данной ситуации делать на том, что к чему приспособлена выбранная систему управления сайтом. Также Apache дает возможности по настройкам, от кторых не хочется отказываться. Они более привычны и удобны.
fcgid_module удобный менеджер процессов, который интегрирован с Apache. Просто с php-fpm я дело имел. Не нравится. На безрыбье работать можно, но если есть другие варианты - лучше не трогать. Это уже вкусовщина. Но именно она определяет разнообразие решений.

(Ответ для Anton Farygin на комментарий #1)
> С момента отключения сборки этого SAPI прошло очень много времени и мне
> казалось что все уже давно перешли на FCGI интерфейс.
Думаю, дело в том, что на Альте не разворачивали WEB-серверов в достаточном количестве. Он позиционируется как офисный сервер.
Время идет, есть попытки приспособить Альт для чего-то еще. В том числе и так https://www.ispmanager.ru/community/feature-request-177 (это мои проделки). А пока - ручные настройки (в них тоже есть свой шарм).

В пакетной базе у вас актуальный Apache, fcgid_module (несмотря на его возраст). И PHP более-менее актуальные. Более того, намного лучше других дистрибутивов, т.к. есть не только самая-самая (ну почти ...) но и несколько последних (только 8.0 пропустили). Это крайне актуально для сайтостроителей. Где-то фреймворк пока не переваривает свежую версию, где-то не собирается даже, а где-то идет миграция, которая может занимать длительное время.

Что "все перешли" я не уверен. Иначе бы не было "в других дистрибутивах" этого SAPI.
Comment 3 Анатолий Кирсанов 2024-03-16 16:38:51 MSK
(Ответ для Anton Farygin на комментарий #1)
> все уже давно перешли на FCGI интерфейс.

Забыл совсем. Я написал зачем нужна сборка php-cgi.
А про FastCGI забыл. Сборка только так называется, поддерживает она FastCGI, если собрать с правильным ключом.

Я ориентировался на статью https://stackoverflow.com/questions/12153518/connection-reset-by-peer-mod-fcgid-error-reading-data-from-fastcgi-server

Там сказано, что если сконфигурить с параметром --enable-fastcgi
Тогда получил на php-cgi -v ответ:

PHP 5.2.17 (cgi-fcgi) (built: Jul  9 2013 18:28:12)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

(пример там для PHP 5)

Важно здесь, что в скобках указано - (cgi-fcgi)

А именно CGI в нем собирали другим ключом конфигурации. Я тоже не знаю зачем это сейчас нужно в массах. Был один случай с одним хостером. Они не могли иначе и подключили именно CGI. Больше такого не припомню. Сейчас этот SAPI собирают для FastCGI.
Comment 4 Анатолий Кирсанов 2024-03-16 16:42:06 MSK
В той статье накарябано "If this is enabled, the CGI module will be built with support for FastCGI also. Available since PHP 4.3.0"

Это про --enable-fastcgi.
Comment 5 Anton Farygin 2024-03-17 00:59:41 MSK
так я всё-таки не понял чем php-cgi собранный с ключём fcgi лучше привычного уже решения - php-fpm fcgi
Comment 6 Анатолий Кирсанов 2024-03-17 08:57:32 MSK
(Ответ для Anton Farygin на комментарий #5)
> так я всё-таки не понял чем php-cgi собранный с ключём fcgi лучше привычного
> уже решения - php-fpm fcgi

Менеджер процессов другой. Он работает.

Чтобы точно сказать в чем именно дело, нужно снова настроить php-fpm.

Если не копаться в воспоминаниях, то вспомнить можно про единый пул процессов в fcgid_module для всех пользователей (я о лимитах количества). При желании, можно сделать как у php-fpm (для каждого пользователя свой), но у меня такого желания, как раз и нет. А так, можно было бы копнуть классы приложений fcgid_module.

Т.е. для слабеньких серверов лучше будет fcgid_module (для WEB-серверов они всегда таковы, если смотреть на нагрузку - резерва по железу нет практически всегда). Он не держит в резерве процессы в таком количестве, как php-fpm. И управляется проще.

Ну а fcgid_module, раз он сам менеджерит процессы, работает не с php-fpm, а с php-cgi (собранным с поддержкой FastCGI).

Так уже больше 10 лет делают. Он тоже привычный. Либо надо убирать из пакетной базы fcgid_module (правда, он может использоваться не только для php). А то мало ли как он собран. Может он в Альте не работает, как это было в свое время с php-cgi в https://bugzilla.altlinux.org/13332
Comment 7 Anton Farygin 2024-03-18 20:27:49 MSK
А попробуйте, пожалуйста:
https://packages.altlinux.org/ru/tasks/343013/ - Sisyphus
https://packages.altlinux.org/ru/tasks/343014/ - p10
но это сборка для Sisyphus. Если всё заработает как ожидается - соберу для всех поддерживаемых версий.
Comment 8 Анатолий Кирсанов 2024-03-18 20:36:50 MSK
(Ответ для Anton Farygin на комментарий #7)
> А попробуйте, пожалуйста:
> https://packages.altlinux.org/ru/tasks/343014/ - p10

Похоже, еще собирается. В отдельных задачках я новичок.

# apt-repo list
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic

# apt-repo add task 343014

# apt-repo list
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm http://git.altlinux.org repo/343014/x86_64 task

# apt-get update 
Пропущено http://git.altlinux.org repo/343014/x86_64 release
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено 8732B за 0s (45,2kB/s).                 
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic pkglist [23,9MB]
Ошибка http://git.altlinux.org repo/343014/x86_64/task pkglist
  404 Not Found
Пропущено http://git.altlinux.org repo/343014/x86_64/task release
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64/classic release [137B]
Получено: 3 http://ftp.altlinux.org p10/branch/noarch/classic pkglist [7175kB]
Получено: 4 http://ftp.altlinux.org p10/branch/noarch/classic release [137B]
Получено: 5 http://ftp.altlinux.org p10/branch/x86_64-i586/classic pkglist [17,5MB]
Получено: 6 http://ftp.altlinux.org p10/branch/x86_64-i586/classic release [142B]
Получено 48,5MB за 5s (8749kB/s).                    
E: Failed to fetch http://git.altlinux.org/repo/343014/x86_64/base/pkglist.task  404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
Comment 9 Анатолий Кирсанов 2024-03-18 23:18:47 MSK
Пакет объявился в 23:05. ввел в заблуждение сайт, который в блоке статистики показывал в строке Собрано значение 1.

Пока так:

# rpm -ql php8.2-cgi
/etc/php/8.2/cgi-fcgi
/etc/php/8.2/cgi-fcgi/browscap.ini
/etc/php/8.2/cgi-fcgi/php.d
/etc/php/8.2/cgi-fcgi/php.ini
/usr/bin/php-cgi-8.2
/usr/share/doc/php8.2-cgi-8.2.16
/usr/share/doc/php8.2-cgi-8.2.16/CREDITS
[root@vds2 ~]# php-cgi-8.2 -v
PHP Warning:  Cannot open "/etc/php/8.2/cgi/browscap.ini" for reading in Unknown on line 0
PHP Fatal error:  Unable to start standard module in Unknown on line 0

С тестовой сборкой можно и выкрутиться.

# ln -s /etc/php/8.2/cgi-fcgi /etc/php/8.2/cgi

# php-cgi-8.2 -v
PHP 8.2.16 (cgi-fcgi) (built: Mar 18 2024 17:24:35)
Copyright (c) The PHP Group
Zend Engine v4.2.16, Copyright (c) Zend Technologies

Собрано как надо.
Comment 10 Анатолий Кирсанов 2024-03-18 23:46:37 MSK
Created attachment 15709 [details]
PHP 8.2.16 - phpinfo()
Comment 11 Анатолий Кирсанов 2024-03-18 23:59:42 MSK
Попробовал. 

Настройки из /etc/php/8.2/cgi-fcgi/php.ini принимает (менять можно, значит правда оттуда берет).

Но модулей практически нет. Как пример, GD, Free Type, SSL, mbstring, MySQL (mysqli). Это то, что бросается в глаза.

ZTS для fcgid_module не требуется. В нем на один процесс обязан приходиться один поток.

В целом, работает. Для полноценного тестирования мне нужно начинать с PHP 7.4. Там и модули помогут. Для 8.2 у меня будет что-то готово через 7.4 и 8.1.
Comment 12 Анатолий Кирсанов 2024-03-19 00:42:23 MSK
Насчет browscap все оказалось просто. Именно для запуска в FastCGI это не очень важно (phpinfo не валится). Эта болячка зашита в /etc/php/8.2/cgi-fcgi/php.ini:

[browscap]
; https://php.net/browscap
browscap = "/etc/php/8.2/cgi/browscap.ini"

Символическую ссылку удалил. Не нужна она.
Comment 13 Anton Farygin 2024-03-19 08:44:16 MSK
по идее должно подхватывать модули из системы. проверьте, работает ли ?
У нас модули пакуются в отдельные пакеты, подходящие сразу для всех SAPI.

Ошибки я сейчас поправлю.
Comment 14 Anton Farygin 2024-03-19 09:24:40 MSK
поправил задание - теперь собрано для всех поддерживаемых версий php (для 7-й версии не ждите сборку).

можно проверять:

https://packages.altlinux.org/ru/tasks/343014/
Comment 15 Анатолий Кирсанов 2024-03-19 11:15:55 MSK
(Ответ для Anton Farygin на комментарий #13)
> по идее должно подхватывать модули из системы. проверьте, работает ли ?
> У нас модули пакуются в отдельные пакеты, подходящие сразу для всех SAPI.

Да, работает. Проверил на пакете php8.2-opcache.

# rpm -ql php8.2-opcache
/usr/lib64/php/8.2.16/extensions/opcache.so
/usr/share/php/8.2/extconf/opcache
/usr/share/php/8.2/extconf/opcache/config
/usr/share/php/8.2/extconf/opcache/params

Конфига /etc/php/8.2/cgi-fcgi/php.d/opcache.ini в пакете нет, а в системе после установки он есть и php-cgi его подхватывает (phpinfo). Похоже на волшебство, видна большая работа.

Волшебство это, судя по всему, создано postinstall скриптом в пакете с модулем, а этот скрипт использует в своем брюхе /usr/share/php/scripts/php_postin.sh. В нем весь интеллект и он отработал успешно.

Фокус здесь в том, что модули нужно ставить после установки всех SAPI. Не проверял, но по коду видно.

(Ответ для Anton Farygin на комментарий #14)
> ... (для 7-й версии не ждите сборку).
> https://packages.altlinux.org/ru/tasks/343014/

Жаль. Тогда с проверкой удаляюсь на пару недель очень активной работы. Мне нужно настроить времянку на php-fpm 7.4 с mod_proxy для Apache. Просто, чтобы дотянуть софт до минимально поддерживаемой Альт версии php-cgi.

Wordpress 5 не знаю пока что потребует. Битрикс 17 может пройти легко, а может потребовать PHP 7.3 для начала. А Piwik 2.18 может потребовать массу коротких обновлений и проведет через 5.6, 7.3, 7.4 ... Этот "тип" не любит обновляться сразу на много. На него в этом тесте я не рассчитывал, пишу для иллюстрации как бывает (с Piwik я почти сразу понял, что потребуется сторонний сервер с ISPManager и древними версиями PHP).
Comment 16 Anton Farygin 2024-03-19 11:46:29 MSK
Хорошо, тогда я текущий результат отправляю в репозиторий, он будет проходить тестирование и когда провалится в репозиторий - пакеты станут доступны уже без сборочного задания.
Comment 17 Анатолий Кирсанов 2024-03-19 11:53:09 MSK
Только смущает OPcache в phpinfo():

Zend OPcache
Opcode Caching 	Disabled
Optimization 	Disabled
SHM Cache 	Enabled
File Cache 	Disabled
JIT 	On
Startup Failed 	Opcode Caching is only supported in Apache, FPM, FastCGI, FrankenPHP, LiteSpeed and uWSGI SAPIs 

Подобная ситуация уже была в https://bugzilla.altlinux.org/30496
Но тогда строка cgi-fcgi бала в массиве supported_sapis. Что сейчас надо - непонятно.

В основном блоке phpinfo (он есть в приложенном скриншоте) сказано:
Server API 	CGI/FastCGI
Comment 18 Anton Farygin 2024-03-19 12:02:31 MSK
Модуль opcache установлен и загружен?
https://packages.altlinux.org/ru/p10/srpms/php8.2-opcache/
Comment 19 Анатолий Кирсанов 2024-03-19 12:48:08 MSK
(Ответ для Anton Farygin на комментарий #18)
> Модуль opcache установлен и загружен?
> https://packages.altlinux.org/ru/p10/srpms/php8.2-opcache/

# rpm -qi php8.2-opcache
Name        : php8.2-opcache
Version     : 8.2.16
Release     : alt1.2
DistTag     : p10+325159.4200.2.1
Architecture: x86_64

# ls -l /usr/lib64/php/8.2.16/extensions
итого 996
-rw-r--r-- 1 root root 1018368 фев 19 12:19 opcache.so

В phpinfo:

 Additional .ini files parsed 	/etc/php/8.2/cgi-fcgi/php.d/opcache.ini 
 extension_dir	/usr/lib64/php/8.2.16/extensions

В /etc/php/8.2/cgi-fcgi/php.d/opcache.ini 
zend_extension=opcache.so
opcache.enable = 1
opcache.enable_cli = 1
(это все умолчания, ничего не трогал)

Но в phpinfo:
Opcode Caching 	Disabled
Optimization 	Disabled
SHM Cache 	Enabled
File Cache 	Disabled
JIT 	On
Startup Failed 	Opcode Caching is only supported in Apache, FPM, FastCGI, FrankenPHP, LiteSpeed and uWSGI SAPIs
Comment 20 Анатолий Кирсанов 2024-03-19 12:52:01 MSK
Created attachment 15711 [details]
Параметры OPCache когда он не доступен
Comment 21 Anton Farygin 2024-03-19 14:52:10 MSK
Нашёл ошибку в сборке php-opcache, там остался старый патч с переименования cgi-fcgi SAPI в cgi 

Ждите обновления php и модулей для поддерживаемых версий.
Comment 22 Anton Farygin 2024-03-20 08:41:56 MSK
php 8.2 с исправлением opcache и cgi пошло на сборку.

https://packages.altlinux.org/ru/tasks/343141/
Comment 23 Анатолий Кирсанов 2024-03-20 20:01:46 MSK
(Ответ для Anton Farygin на комментарий #22)
> php 8.2 с исправлением opcache и cgi пошло на сборку.
> https://packages.altlinux.org/ru/tasks/343141/

Спасибо. Теперь OPcache доволен

Opcode Caching 	Up and Running
Optimization 	Enabled
SHM Cache 	Enabled
File Cache 	Disabled
JIT 	Disabled
Startup 	OK

Более подробное тестирование мне придется продолжить уже с 8.0.
Свежий WordPress поддерживает частично (“compatible with exceptions”) 8.0 и 8.1, а 8.2 и 8.3 - в бете.
Полностью он поддерживает сейчас только 7.4.

Битрикс точно взлетит на 8.1. 8.2. не проверял. Так что времени потребуется достаточно.
Comment 24 Anton Farygin 2024-03-20 20:08:19 MSK
bitrix точно работает на 8.2, это проверено.

несмотря на окончание поддержки апстримом php 8.0 я собрал для него тоже пакеты:
https://packages.altlinux.org/en/tasks/343014/

после тестирования нашим qa они попадут в репозиторий.
Comment 25 Анатолий Кирсанов 2024-03-21 01:17:45 MSK
Ковыряю php-cgi 8.2 тестовым скриптом. 

Несмотря на memory_limit в php.ini на 256 МБ (вижу в phpinfo(), больше 128 МБ не выделяется.

Никаких ограничений на сервере я не ставил (банально не умею). 

Умолчания смотрел. 

ulimit -a (просто в терминале)
max memory size         (kbytes, -m) unlimited
virtual memory          (kbytes, -v) unlimited

По systemctl status  вижу, что php-cgi крутится в рамках сервиса httpd2:
   CGroup: /
           └─system.slice 
             ├─httpd2.service 
             │ ├─  9363 /usr/sbin/httpd2 -DFOREGROUND -k start
             │ ├─  9365 /usr/sbin/httpd2 -DFOREGROUND -k start
             │ ├─  9366 /usr/sbin/httpd2 -DFOREGROUND -k start
             │ ├─  9367 /usr/sbin/httpd2 -DFOREGROUND -k start
             │ ├─  9368 /usr/sbin/httpd2 -DFOREGROUND -k start
             │ ├─  9454 /usr/sbin/httpd2 -DFOREGROUND -k start
             │ ├─ 10175 /usr/bin/php-cgi-8.2
             │ └─ 10183 /usr/bin/php-cgi-8.2

Значит и ограничения должны быть его.

# systemctl show httpd2.service | fgrep Memory
MemoryCurrent=293023744
MemoryAvailable=infinity
MemoryAccounting=yes
DefaultMemoryLow=0
DefaultMemoryMin=0
MemoryMin=0
MemoryLow=0
MemoryHigh=infinity
MemoryMax=infinity
MemorySwapMax=infinity
MemoryLimit=infinity
ManagedOOMMemoryPressure=auto
ManagedOOMMemoryPressureLimit=0
MemoryDenyWriteExecute=no

Смотрел в systemd-analyze cat-config sysctl.d - и там ничего про httpd2 и mod_fcgid.

Таращился в systemd-cgtop. Ничего интересного. Доходит до определенного размера память и все, тест отваливается. При этом из 2ГБ ОЗУ затрачено максимум 1,5. Т.е. есть куда еще идти.

OOM Killer в логе отсутствует.

Везде infinity может вкомпилено ограничение?
Comment 26 Анатолий Кирсанов 2024-03-21 06:21:59 MSK
Порылся в исходниках php, apache, mod_fcgid.
Искал поиском что-нибудь по memory и limit.

И нашел только вкомпиленные в сам PHP ограничения по той самой настройке - memory_limit. Там 128 МБ.

Изменения в php.ini видны только в phpinfo().
ini_set ничего не дает (хотя ini_get показывает, что я что-то сохранял).

Накарябал простейший тестовый скрипт. Он дает память строго до 128МБ.
На самом первом хите после перезагрузки httpd2. Так что утечка памяти от нескольких запросов тут исключается. Да и ставил я в тестах один запрос на процесс (получил обычный CGI по скорости).

Получается, что php-cgi не видит настройки memory_limit в php.ini и использует только вкомпиленное умолчание. Осталось это как-то подтвердить.
Comment 27 Anton Farygin 2024-03-21 06:39:56 MSK
Лучше для этого использовать другой тикет
Comment 28 Анатолий Кирсанов 2024-03-21 08:46:49 MSK
(Ответ для Anton Farygin на комментарий #27)
> Лучше для этого использовать другой тикет

Рано еще. С этой болячкой с ума сойдешь.

Работает только так (в скрипте FcgidWrapper):

  exec /usr/bin/php-cgi-8.2 -n -d memory_limit=512M
  
  И никаких опций "-с" с путем до конфига. Ни до опции "-n", ни после.
  Тем более, никаких отказов от "-n" (подключения любых конфигов, даже если в них нет memory_limit).
  ini_set('memory_limit', 'XXX') допустим, но должен повторять настройку из опции "-d".

Тут фактуру надо собирать - запускать сайты. А то может такая же беда не только с memory_limit. С другой стороны, sendmail_path с нестандартным значением прошла, max_execution_time тоже прошла. 

Я такой дичи еще не видел. Для отдельного обращения нужно полностью описывать стенд, чтобы его дальше, в апстрим протолкнуть можно было.
Comment 29 Анатолий Кирсанов 2024-03-21 09:53:32 MSK
WordPress на php-cgi-8.0 взлетел. Ничего не редактировал. На просмотр работает, плагины и темы удаляются .... Скорее всего, с 8.0 все в порядке.
Comment 30 Anton Farygin 2024-03-22 12:06:13 MSK
А если к cgi ходить через nginx, то работает ?
Comment 31 Анатолий Кирсанов 2024-03-22 13:23:22 MSK
(Ответ для Anton Farygin на комментарий #30)
> А если к cgi ходить через nginx, то работает ?

На php-fpm 7 (тоже с участием Apache, не напрямую от nginx) (мне его развернуть все равно пришлось, как промежуточную точку) я такой болячки с memory_limit не заметил. Обратил на это внимание именно на cgi-fcgi.

Я уже не думаю, что это совсем новая проблема. Просто диагностику не провел ранее.

А проблема вот в чем - ты запросил в этой настройке 512, получил 256 (при этом, в phpinfo покажет 512). Он выделяет реально места в 2 раза меньше запрошенного. Просто я просил 256 и получал 128, а это совпадает с вкомпиленной настройкой. Не удивлюсь, что болячке много лет и вылезла она с перехода на 64 бита с 32.

И происходит недуг при обработке php.ini. Если их нет, а есть только "-d" из командной строки, то выделяется реально именно столько, сколько запросил.

Наблюдать еще надо. Тестовый стенд на 32 бита делать. Это надолго.

Что касается проверок сборок php-cgi в других аспектах, то вот последние изменения:

Провел обновление Piwik (ныне Matomo). Взлетел на PHP 8.2. Версия 7.4 и 8.0 требовались для процедур обновления. С 8.2 есть несовместимости, т.е. они еще до конца софтину не довели. Но несовместимости носят характер предупреждений (надеюсь катастрофы не будет).

8.1 пока не трогал. Думаю, Битрикс захочет с ней поиграть. Там работы много, время потребуется.
Comment 32 Anton Farygin 2024-03-22 13:34:27 MSK
У нас нет никаких специальных патчей на php в этом месте, поэтому эта старая болячка должна быть на всех вариантах установки php-cgi
Comment 33 Анатолий Кирсанов 2024-03-24 02:00:16 MSK
Нет, Битриксу оказалось достаточно 7.4 и 8.0.

php-cgi 8.1 протестировать мне не удалось.
Были сомнения насчет Piwik (что нужно откатить на 8.1), но пока они не укрепились.
Comment 34 Anton Farygin 2024-03-27 11:44:02 MSK
php-cgi для разных версий php уже в p10.