FastCGI PHP

Igor Sysoev is at rambler-co.ru
Sat Aug 5 17:51:18 MSD 2006


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





More information about the nginx-ru mailing list