Moin!
hi.
bisher kam ich bestens mit meinem webserver zurecht. doch nun benötigt ein script, welches wirklich viel zu tun hat und lange braucht, eine uneingeschränkte execution time. kein problem, dachte ich und änderte die max execution time auf 0. gut. nun geht es stundenlang gut. doch irgendwann scheint immer eder webserver reloaded zu werden, wie es confixx nennt... kann ich irgendwie für den user einrichten, dass dessen scripte nicht über den apache mit php sondern irgendwie anders (mod_php o.ä.?) ausgeführt werden und niemals unterbrochen werden außer der server kackt ab....
danke für tipps
Ich gehe mal von Linu oder Unix aus.
Ganz einfach. Du musst das Skript so starten, dass es nicht als Kindprozess des Webservers gestartet wird. Das Beenden des Elternprozesses beendet normalerweise auch die "Kinder" dieses Prozesses. Also, das ist so ähnlich, wie wenn Du an der Eingabeaufforderung den DOS-Editor startest und dann die Eingabeauffordeung schließt. Dann wird auch der Editor beendet.
Sollte auf dem Server der atd laufen kannst Du ein Skript etwa so starten:
<?php
Ermitteln der nächsten Minute:
$intMinute=date('i')+1;
$intStunde=date('i');
if ($intMinute==60) {$intMinute=0;$intStunde++;}
if ($intStunde==24) {$intStunde=0;}
starten des at-Jobs:
$dummy = echo "/pfad/zum/skript.php" at $intMinute:$intStunde
;
echo "<pre>$dummy</pre>";
?>
Das Skript muss in dem Fall ausführbar sein und sollte eine shebang(*) enthalten. Nein, es muss kein PHP-Skript sein, kann aber.
Das Skript kann dann wieder mit atq gelistet und atrm gelöscht werden. Alle Ausgaben bekommt der Benutzer, der es startet, per Mail- es sei denn, Du lenkst Diese in ein Logfile um. Vergiss dann auch nicht die Fehlermeldungen in eine Datei umzuleiten.
* shebang: Erste(!) Zeile:
#! /usr/bin/php -q
Die shebang weisst dem system den Weg zum Skriptinterpreter (und dessen Optionen, hier Unterdrückung des HTTP-Header "Content-type=...").
Es gibt sicher noch mehr Möglichkeiten.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development