У меня есть функция, которую я построил, которая возьмет файл .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.
Как это исправить?
ОБНОВЛЕНИЕ: Мой провайдер – Winhost
Перейдите на %windir%\system32\inetsrv\fcgiext.ini
и найдите параметр ActivityTimeout; скопируйте его в раздел [php]. Измените параметр на любое значение, которое вы хотите, а также убедитесь, что он не закомментирован. Перезапустите IIS, и вы должны быть хорошими.
activityTimeout
можно установить (IIS7 и выше) из диспетчера IIS в настройках / Редактировании сервера / IIS / FastCGI.
activityTimeout
можно установить (IIS7 и выше) из диспетчера IIS в настройках / Редактировании сервера / IIS / FastCGI.
Для Windows Server 2008 R2 стандартная версия IIS, которая поставляется, – IIS 7.5. Решение, предложенное Дейвом, не будет работать, потому что этого файла нет.
Вместо этого попробуйте %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>
Не забудьте перезагрузить веб-сервер.
Я установил для requestTimeout
значение 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>
НЕ ЗАБЫТЬ, ЧТОБЫ ОТПРАВИТЬ СЕРВЕР
ИЛИ Это можно сделать и из интерфейса:
Откройте InetMgr (окно + R типа Inetmgr и нажмите enter)