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

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

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

HTTP Error 500.0 - Internal Server Error
c:php-fastcgiphp-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

4 ответов


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

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


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


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

попробуй %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.


на 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>

НЕ ЗАБУДЬТЕ ПЕРЕЗАГРУЗИТЬ СЕРВЕР

или Это можно сделать и из UI:

открыть InetMgr (window+R введите Inetmgr и нажмите входить) open inet manager from run command

Filter Fast CGI in inet manager

double click or click edit fastcgi

modify fastcgi setting

enter image description here