Подтвердить что ты не робот

Процесс FastCGI превысил настроенный тайм-аут активности

У меня есть функция, которую я построил, которая возьмет файл .csv и выведет информацию, указанную тогда, создав учетную запись для каждого пользователя в CSV файле.

Моя проблема: мне нужно иметь возможность делать это с тысячами записей в CSV файле, но моя проблема заключается в том, что я получаю эту ошибку времени и не уверен, почему:

HTTP Error 500.0 - Internal Server Error
c:\php-fastcgi\php-cgi.exe - The FastCGI process exceeded configured activity 
                             timeout
Detailed Error Information

Module -
FastCgiModule

Notification - 
ExecuteRequestHandler

Handler - 
PHP_via_FastCGI

Error Code -
0x80070102

Вот моя функция CSV:

http://jsfiddle.net/fS4t4/ - это в PHP, и я просто бросаю его в раздел javascript.

Как это исправить?

UPDATE: Мой провайдер - Winhost

4b9b3361

Ответ 1

Перейдите к %windir%\system32\inetsrv\fcgiext.ini и найдите параметр ActivityTimeout; скопируйте его в раздел [php]. Измените параметр на любое значение, которое вы хотите, а также убедитесь, что он не закомментирован. Перезапустите IIS, и вам должно быть хорошо.

activityTimeout также может быть установлен (IIS7 и выше) из диспетчера IIS в настройках сервера/IIS/FastCGI/Edit.

Ответ 2

activityTimeout также может быть установлен (IIS7 и выше) из диспетчера IIS в настройках сервера/IIS/FastCGI/Edit.

Ответ 3

Для Windows Server 2008 R2 стандартная версия IIS, которая поставляется, представляет собой IIS 7.5. Решение Предлагаемый Dave не будет работать, потому что этого файла нет.

Вместо этого попробуйте %windir%\system32\inetsrv\config\applicationHost.config настроить параметры для всего сервера. Посмотрите на блок <fastCgi>:

<fastCgi>
    <application fullPath = "C:\php\php-cgi.exe" arguments = "" 
        monitorChangesTo = "" stderrMode = "ReturnStdErrIn500" maxInstances = "4"
        idleTimeout = "300" activityTimeout = "30" requestTimeout = "90" 
        instanceMaxRequests = "5000" protocol = "NamedPipe" queueLength = "1000" 
        flushNamedPipe = "false" rapidFailsPerMinute = "10">
        <environmentVariables>
            <environmentVariable name="PHP_MAX_REQUESTS" value="5000" />
        </environmentVariables>
    </application>
</fastCgi>

Не забудьте перезагрузить веб-сервер.

Я установил activityTimeout в 90 и requestTimeout на 270, чтобы дать процессам больше времени для завершения своей работы. Этого было недостаточно для моей проблемы, но она должна по крайней мере позволять людям находить соответствующие биты в IIS 7.5.

Ответ 4

Для IIS 7.5 вы можете изменить настройку файла в

C:\Windows\System32\Inetsrv\Config\applicationHost.config

и найдите строку ниже и измените ее согласно вашему требованию

<fastCgi>
    <application fullPath="C:\PHP\php-cgi.exe" idleTimeout="900" activityTimeout="180" requestTimeout="10000" instanceMaxRequests="10000" />
</fastCgi>

НЕ ЗАБЫТЬ, ЧТОБЫ ОТПРАВИТЬ СЕРВЕР

ИЛИ Это также можно сделать из пользовательского интерфейса:

Открыть InetMgr (окно + R типа Inetmgr и нажать enter) открыть менеджер inet из команды запуска

Фильтровать быстрый CGI в менеджере inet

дважды щелкнуть или щелкнуть edit fastcgi

изменить настройку fastcgi

введите здесь описание изображения