funktion alle 5 sekunden ausführen möglich ?
mike
- php
Hi zusammen,
ich würde gern eine bestimmte Funktion alle 5sek mittels PHP ausführen.
Ist das prinzipiell möglich, oder kann PHP nur bei einem reload "aktiv werden" ??
Vielen Dank
Mike
Moin,
ich würde gern eine bestimmte Funktion alle 5sek mittels PHP ausführen.
Ist das prinzipiell möglich, oder kann PHP nur bei einem reload "aktiv werden" ??
Prinzipiell kann man PHP-Skripte auch wie alle anderen Programme aufrufen. Besonders schön geht das wenn man eine Kommandozeilenversion von PHP benutzt (man kann die natürlich auch zusätzlich installieren und PHP weiterhin als Apachemodul verwenden) wie in http://www.php.net/manual/en/features.commandline.php beschrieben. Dann kannst du dort einfach ein PHP-Skript in einer Endlosschleife durchlaufen lassen die nichts weiter macht als 5 Sekunden zu warten und dann deine Funktion aufzurufen. Wenn du dann noch stdin, stdout und stderr schließt und einen Hintergrundprozess forkst (http://www.php.net/manual/en/function.pcntl-fork.php) hast du sogar einen schicken Daemon in PHP.
Solltest du nur einen HTTP-Server mit PHP zur Verfügung haben, kannst du natürlich auch mit einem geeigneten Programm (z.B. lynx) und einem geeigneten anderen Programm (z.B cron) periodisch einen HTTP-Request an den Server absetzen. Cron zum Beispiel unterstützt aber aus gutem Grund nur Minutenintervalle und überhaupt ist diese Methode *wirklich* keine gute Idee da sie unnötig viel Last verursacht.
Aber sag' doch mal wofür du das brauchst! Vielleicht gibt es da ja eine bessere Lösung.