php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.03.2010, 17:05  
Neuer Benutzer
 
Registriert seit: 04.11.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Pendragon befindet sich auf einem aufstrebenden Ast
Standard IIS 6 max_execution_time

Hallo Leute,

ich stehe vor dem Problem, ein Skript zum Ausführen zu bringen, das weit mehr als die Standard 300 Sekunden Ausführzeit benötigt.

Habe schon versucht per ini_set('max_execution_time', 6000 ); das zu machen, und auch über set_time_limit(0); oder set_time_limit(6000);

Leider kommt immernoch die Meldung "Fatal error: Maximum execution time of 300 seconds exceeded..."

Hat jemand eine Idee, wie man dies ändern kann? Scheint eine IIS spezifische Sache zu sein und nicht an der php.ini zu liegen.

Vielen Dank für die Hinweise!
Pendragon ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.03.2010, 17:57  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Was genau macht das Script denn ?
Sicher die richtige php.ini erwischt ?
Eventuell irgendwo noch angaben über den VHOST oder via .htacces ?
was gibt denn ini_get('max_execution_time'); bzw. phpinfo aus [dort siehst du auch welche php.ini(s) genutzt werden ?
was gibt denn das ini_set() zurück ? false ? oder den alten Wert ?

Ansonsten vielleicht nochmal anschauen:
PHP: Runtime Configuration - Manual ini.max-input-time

Und im manual sollte man auch mal schauen:
PHP: set_time_limit - Manual
-> How To Configure the CGI Script Timeout Value in IIS 5.0 and 6.0

damn ... scheiss forum hat wieder post halb gekillt.

Allgemein solltest du so lange scripte wenn nicht unbedingt nötig auch nicht via IIS laufen lassen sondern direkt via CLI, notfalls vom IIS nen prozess spawnen lassen der weiterläuft.
robo47 ist offline   Mit Zitat antworten
Alt 02.03.2010, 18:40  
Neuer Benutzer
 
Registriert seit: 04.11.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Pendragon befindet sich auf einem aufstrebenden Ast
Standard

Also das Skript soll alle Datensätze (viele) einer Datenbanktabelle durchlaufen und gewisse Operationen durchführen (Berechnungen, weitere Datenbankabfragen, etc.). Kurzum es dauert ziemlich lange....

ini_get() gibt mittlerweile 0 zurück, sollte hier als eigentlich keine Begrenzung mehr geben.

Danke für den Hinweis zum HowTo zur IIS-CGI-Konfiguration. Mit der GUI hab ich das probiert, da gibt es bei mir leider keinen Reiter Process Options in der Application Configuration. Muss dann mal diesen MetaEdit installieren, vielleicht klappts mit dem. Danke jedenfalls für den Hinweis!

Geändert von Pendragon (02.03.2010 um 18:48 Uhr).
Pendragon ist offline   Mit Zitat antworten
Alt 03.03.2010, 13:07  
Erfahrener Benutzer
 
Benutzerbild von Andreas
 
Registriert seit: 22.04.2005
Beiträge: 392
Andreas ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wird das Script über die Kommandozeile ausgeführt, oder im Browser?

Im letzteren Falle könntest du das noch über einen periodischen Wiederaufruf des Scripts lösen. Nur mal ein gefummeltes Beispiel:

PHP-Code:
<?php
if(!isset($_GET["startIndex"]))
    
$_GET["startIndex"] = 0;

// mach was mit x datensätzen
$startIndex = (int)$_GET["startIndex"];
$x 300;
for(
$i=$startIndex;$i<($startIndex $x);$i++) {
    
// mach was
    
}
header("Location: ".$_SERVER["PHP_SELF"]."?startIndex=".$i+1);
Andreas ist offline   Mit Zitat antworten
Alt 04.03.2010, 15:39  
Neuer Benutzer
 
Registriert seit: 04.11.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Pendragon befindet sich auf einem aufstrebenden Ast
Standard

Hallo Andreas,

hab deinen Vorschlag mal getestet und er funktioniert Konnte zwar nicht Deinen Header-Modifizierer nehmen, da kam dann immer "Cannot modify header information - headers already sent by..." und das Skript wurde abgebrochen. Hab dann aber JavaScript verwendet zum Neustarten und dann ging es. Gefummelt, aber trotzdem interessanter Ansatz - konnte damit immerhin das Skript einmal durchlaufen lassen Allerdings ist das nur für Testzwecke geeignet. Das Skript soll über die Kommandozeile gestartet werden. Trotzdem danke für Deinen Vorschlag!
Pendragon ist offline   Mit Zitat antworten
Alt 04.03.2010, 16:09  
Erfahrener Benutzer
 
Benutzerbild von Andreas
 
Registriert seit: 22.04.2005
Beiträge: 392
Andreas ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

wenn es sowieso über die Konsole gestartet werden soll, du es aber im IIS testest, ist das schonmal schlecht.

Warum startest du es nicht gleich mit der Konsole?

Es kann ja nichts IIS-spezifisches sein, wenn die Konsole genutzt wird. Und da funktionieren sicher auch set_time_limit(0); und/oder ini_set richtig.


Gruß
Andreas ist offline   Mit Zitat antworten
Alt 04.03.2010, 18:54  
Erfahrener Benutzer
 
Registriert seit: 29.08.2008
Beiträge: 755
halskrause wird schon bald berühmt werden
Standard

Du kannst es doch auch über den Taskmanager starten, oder?
halskrause ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
iis timeout einstellen, max_execution_time einstellen, was ist max_execution_time, max_execution_time iis, max_execution_time standard, iis 6 timeout einstellen, iis max_execution_time, max_execution_time ändern, http://www.php.de/php-fortgeschrittene/65291-iis-6-max_execution_time.html, max_execution_time php, iis einstellungen timeout, max_execution_time php.ini, iis6 cgi process cache, php cli max_execution_time bug, ini_set(\'max_execution_time\', iis php execution time, ini_get(\'max_execution_time\');, iis timeout erhöhen, php max_execution_time = false, iis cgi einstellungen

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum