2013-02-15 2 views
25

Ich habe eine Funktion, die ich eine CSV-Datei greifen und Informationen hochgeladen dann ein Konto für jeden Benutzer in der CSV-Datei erstellen wird.FastCGI-Prozess überschritten konfigurierte Aktivität Zeitüberschreitung

Mein Problem ist, ich muss in der Lage sein, dies mit Tausenden von Einträgen in einer CSV-Datei zu tun, aber mein Problem ist, ich diese Auszeit Fehler bekommen und nicht sicher, warum, wie folgt:

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 

Hier ist meine CSV-Funktion:

http://jsfiddle.net/fS4t4/ - das ist in PHP und ich schmeiße es einfach in den Javascript-Abschnitt.

Wie behebt man das?

UPDATE: Mein Provider ist Winhost

+0

Welche Version von IIS Winhost verwenden? Ich rate IIS 7.0 seit dem und 8 wurden auf der Website aufgeführt. – icedwater

Antwort

21

Zum %windir%\system32\inetsrv\fcgiext.ini und suchen Sie den ActivityTimeout Parameter; Kopiere es in den [php] Abschnitt. Ändern Sie den Parameter auf den gewünschten Wert und stellen Sie sicher, dass er nicht auskommentiert ist. Starten Sie IIS neu und Sie sollten gut sein.

activityTimeout kann auch eingestellt werden (IIS7 und höher) aus dem IIS-Manager unter dem Server/IIS/FastCGI Einstellungen/Bearbeiten.

+0

Wo würde ich das bekommen, weil ich WinHost als meinen Provider benutze> –

+0

Ich habe noch nie WinHost benutzt, aber wenn Sie keinen Zugriff auf den Windows Explorer auf dem Server haben, können Sie Pech haben. Ich würde empfehlen, ihre Unterstützung zu kontaktieren und zu fragen, wie Sie Ihre 'fcgiext.ini' bearbeiten können, um eine spezifische Antwort auf winhost zu erhalten. –

+0

Danke Dave! Ich schätze es! –

26

Für Windows Server 2008 R2 ist IIS 7.5 die Standardversion von IIS. Die solution Dave vorgeschlagen wird nicht funktionieren, weil diese Datei nicht da ist.

Versuchen Sie stattdessen %windir%\system32\inetsrv\config\applicationHost.config, um die Optionen für den gesamten Server einzurichten. Schauen Sie sich den <fastCgi> Block an:

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

Denken Sie daran, Ihren Webserver neu zu starten.

Ich setze activityTimeout auf 90 und requestTimeout auf 270, um den Prozessen mehr Zeit zu geben, ihre Arbeit zu beenden. Das war nicht genug für mein Problem, aber es sollte zumindest Leuten erlauben, die relevanten Bits auf IIS 7.5 zu finden.

+0

Ich habe dies auf IIS 7.5. Jetzt habe ich *** ERR_CONNECTION_RESET *** – BioDeveloper

+0

Kann dir nicht helfen, @ Nari2. Es tut uns leid. Hast du es schon gelöst? – icedwater

+0

Über den IIS Manager ist dies in den Verbindungen> [Server]> FastCGI> klicken Sie auf die php-cgi.exe> ​​klicken Sie auf Bearbeiten – icc97

36

activityTimeout kann auch eingestellt werden (IIS7 und höher) aus dem IIS-Manager unter dem Server/IIS/FastCGI Einstellungen/Bearbeiten.

+1

Fühlen Sie sich frei, um die Antwort direkt zu bearbeiten. :) – icedwater

+1

Oh mein Gott, jetzt sieht das so aus, als würde ich nach Leuten suchen, die bearbeitet werden, um abgelehnt zu werden. Ich bin mir nicht sicher, was sich als Bearbeitung oder als Kommentar eignet, aber erwäge, zuerst zu kommentieren :) – icedwater

+1

haha ​​warum? Ich denke, ich hätte deine Antwort wahrscheinlich als Kommentar von dir geben sollen, da es deine Antwort war, die mich auf den richtigen Weg gebracht hat. Ich fühle es einfach, es über die GUI zu machen, als die XML-Datei zu bearbeiten ;-) – momo

18

Für IIS 7.5 Sie die Einstellung von Datei ändern können in

C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config-

und die folgende Zeile und Änderung wie pro Ihre Anforderung

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

NICHT VERGESSEN NEU STARTEN SERVER

OR Diese von UI auch getan werden kann, finden:

Öffnen Sie InetMgr (Fenster + R Typ Inetmgr und drücken Sie Enter) 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

+3

kein Neustart des Servers erforderlich –

Verwandte Themen