Re: Тонкости работы FastCGI (phpfpm)
Victor Sudakov
vas на sibptus.ru
Чт Апр 22 04:23:07 UTC 2021
Evgeniy Berdnikov wrote:
> On Wed, Apr 21, 2021 at 02:58:21PM +0700, Victor Sudakov wrote:
> > Тут у меня еще сработали ассоциации с обычным CGI. Там ведь насколько я
> > помню, закрыли stdin CGI-скрипту - и скрипт сразу прекратил выполнение.
> > Или тоже помню неверно?
>
> Неверно. И вообще это не имеет отношения к GCI, поскольку CGI как протокол
> не содержит никаких требований к обработке статуса соединения между
> клиентом и web-сервером.
Речь и не шла об обработке статуса соединения между клиентом и
web-сервером. Под "закрыли stdin CGI-скрипту" я имел в виду, что веб-сервер
закрыл соединение между собой и скриптом.
Впрочем, как меня уже поправили, и в случае CGI-скрипта скрипт может
остаться работать, даже если веб-сервер закрыл соединение с ним. Я этого
не знал. Бывало тестировал их даже руками или через пайп - не помню,
чтобы хоть один оставался выполняться где-то в фоне, после того как я
прервал общение с ним.
Вообще очень познавательный был разговор, спасибо всем ответившим.
> CGI это интерфейс между сервером и дочерним
> процессом. А как ведёт себя сервер по отношению изменениям статусов
> пользовательских коннекций -- это особенности его реализации.
>
> > > В результате о том, что соединение закрыто, php узнаёт, только
> > > когда попытка записи ответа в соединение возвращает ошибку.
> >
> > Спасибо за однозначный и четкий ответ. В документации не хватает, к
> > сожалению, чтобы этот момент был четко прописан.
>
> Вы находили в документации по php прямо противоположное утверждение.
> Но насколько оно верно -- это вопрос, по мне так php это маргинальная
> субкультура и слепо доверять её грамотам не стоит...
Не то чтобы "прямо противоположное". В документации просто не оговорено, что
требуются определенные дополнительные условия (попытка чтения или записи
скриптом) для перехода в состояние ABORTED.
--
Victor Sudakov VAS4-RIPE
http://vas.tomsk.ru/
2:5005/49 at fidonet
Подробная информация о списке рассылки nginx-ru