ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: FastCGI PHP



On Sat, 5 Aug 2006, Evgeny Stepanischev wrote:

Да.  Подтверждаю.  Тоже  самое.  php  только  собран  самым обычным
образом  из  портов  FreeBSD-6.1.  Пока  не  нашёл  этой информации
постоянно замечал что был php и нету :)

Бинго! Это я как раз упустил, спасибо, что напомнили. Когда споткнулись на
самосборе в Solaris, то "чиста ради чистой совести" провели эксперимент на
стоящей неподалеку FreeBSD (именно 6.1 попалась)

Абсолютно без самодеятельности абсолютно по умолчанию поставили PHP с FastCGI из
портов. И получили тоже самое, что видели в Solaris. После этого и перестали
разбираться, ибо проблема явно где-то в ДНК.

Ясно,  очень  странно.  Но  вы, конечно же, написали bug report, чтобы
разработчики  узнали о проблеме и у PHP перестали торчать уши Personal
Home Page? :)

Это не баг, а явно запрограммированное поведение - вот куски из
php-5.1.2/sapi/cgi/cgi_main.c:

#if PHP_FASTCGI
    int max_requests = 500;

    ...

    if (fastcgi) {
        /* How many times to run PHP scripts before dying */
        if (getenv("PHP_FCGI_MAX_REQUESTS")) {
            max_requests = atoi(getenv("PHP_FCGI_MAX_REQUESTS"));
            if (!max_requests) {
                fprintf(stderr, "PHP_FCGI_MAX_REQUESTS is not valid\n");
                return FAILURE;
            }
        }

    ...

#if PHP_FASTCGI
            if (!fastcgi) break;
            /* only fastcgi will get here */
            requests++;
            if (max_requests && (requests == max_requests)) {
                FCGX_Finish_r(&request);


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.