Re: [Unit] php-модуль, Ubuntu'шные пакеты

Vadim A. Misbakh-Soloviov nginx на mva.name
Пт Июн 14 20:40:31 UTC 2019


Взяли из PPA http://ppa.launchpad.net/ondrej/php/ubuntu (как и все в 
интернетах, кому нужны отличные от апстримовых версии).
Ибо программисты пишут под 7.1 и пока не готовы к апгрейду...

К слову, на соседней-то машине, которая тоже bionic, юнит с 7.1 вполне себе 
работает...
Правда, там не lxc-контейнер и ядро поновее...

Да и на соседнем проекте, кстати, используют докерный образ nginx/unit:1.8.0-
php7.0 и доставляют в него в Dockerfile'е php7.2 и всё работает как часы...
Разве что берут они его там с https://packages.sury.org/php/ ибо контейнер 
дебиановый.

В общем, похоже, единственным выходом будет пересобирать юнитомодуль и класть 
нужные модули в свой PPA... :(

Хотя от понимания почему там работает - я бы не отказался :)

Пока склонен считать, что, как и сказал товарищ, ответивший мимо рассылки,

> Причина была в том, что использовались php плагины, собранные другой версией 
php или с другой  конфигурацией сборки php. Вам надо будет попробовать 
отключить плагины, или пересобрать их с текущей версией php.

Но теория тоже довольно притянутая, т.к. сторонних плагинов не используются а 
на текущих двух машинах весрии и состав библиотек идентичны.

Плюс, крошится-то, на этой машине, только когда я через юнит задаю 
контролирующие INI-директивы (а без их переопределения не крошится и 
работает)...







В письме от пятница, 14 июня 2019 г. 15:32:45 MSK пользователь Валентин 
Бартенев написал:
> On Friday, 14 June 2019 14:45:25 MSK Vadim A. Misbakh-Soloviov wrote:
> > Что-то я хоть тресни, но не могу из gdb попасть в процесс php-модуля,
> > чтобы
> > отловить его: либо если я включаю и follow=child и выключаю
> > detach-on-fork, то ухожу не в те форки, что нужно (роутер, контроллер), а
> > знаний как попасть в нужный - не хватает :'(.
> > 
> > 
> > 
> > 
> > Тут, кстати, один участник рассылки в обход неё, напрямую отправил письмо
> > о
> > том, что он сталкивался с таким же когда модуль был собран не под ту
> > версию
> > php.
> > 
> > Технически-то, так оно и есть: debug-модуль php у юнита собран под 7.0, а
> > "продакшн" под 7.2
> > А использую я 7.1...
> 
> [..]
> 
> Так работать конечно не будет.
> У libphp нет совместимости по ABI между 7.x версиями.
> 
> > Но что-то на убунте-то как-то не хочется пересобирать вручную пакет с
> > модулем php на каждом сервере, куда планируется воткнуть Юнит.
> > 
> > Может, тогда имеет смысл вам, как апстриму сделать пакеты
> > "unit-php-{5.6,7-
> > {0,1,2,3}}?
> 
> [..]
> 
> Мы обычно собираем с тем, что есть в дистрибутиве.  Иначе это поддерживать
> невозможно.  Вопрос в том, откуда возникло расхождение в 7.x версиях.
> 
> И откуда вообще взялся php 7.1 в убунтах?
> Я что-то его не вижу в https://packages.ubuntu.com/ - ни в xenial, ни в
> bionic.
> 
> --
> Валентин Бартенев
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



Подробная информация о списке рассылки nginx-ru