PHP Skript als Windows-Dienst starten

enzor

Commander
Registriert
Sep. 2006
Beiträge
2.432
Servus,


ich habe eine fertige .php-Internetseite, welche jede Minute einen Lizenzmanager überprüft und die zugehörigen Daten in eine Datenbank schreibt.
Dieses würde ich nun gern über einen Windows-Dienst ausführen, um nicht dauerhaft den Browser laufen haben zu müssen und auch nach einem Benutzerwechsel das Skript noch läuft.

Ich habe schon einige Sachen per Google gefunden, aber diese setzen alle zu viel Wissen voraus, als dass ich da durchsteigen würde.

Also, kann mir jemand verständlich erklären, was ich zu tun habe, um den Dienst zu erstellen und direkt nach dem Bootvorgang alle 60 Sekunden auszuführen?


Die .php sieht folgendermaßen aus:

Code:
Code entfernt
 
Zuletzt bearbeitet:
Hi,

wo genau ist dein Problem? Google findet z.B. diese Anleitung, die eigentlich relativ einfach beschrieben und sehr ausführlich ist. Was daran ist nicht verständlich?

VG,
Mad
 
Soll ich jetzt quasi den 2. Code kopieren und an dieser Stelle

Code:
while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
 
>HIER<

    $someCode = new SomeCode();
    $someCode->start();
 
    usleep(500000);
}

meinen Code einfügen?
Was davon? Alles, was zwischen "<?PHP" und "?>" steht?

Was bedeutet der "someCode"-Kram? Drinlassen? Rausnehmen?
Was macht "usleep"?

Funktioniert das automatische Aktualisieren? Oder muss ich es rausnehmen und über usleep machen?
 
Hi,

hm. Da scheint noch einiges unklar zu sein. Darf man fragen, was dein Hintergrund ist, also welches PHP- und Computerwissen vorhanden ist? Sonst schreib ich hier eine Anleitung und sie bringt dir am Ende wieder nichts.

VG,
Mad
 
Bißchen Mitdenken wäre schon nicht verkehrt. :p SomeCode (zu deutsch "irgend welcher Code") ist offensichtlich ein Platzhalter für den Code, den du eigenlich als Dienst laufen lassen möchtest. usleep() ist eine Funktion, die das Program für eine bestimmte Anzahl Mikrosekunden in den Schlummerzustand versetzt. Das Ding läuft also in der while-Schleife, führt wiederholt deinen Code aus und schläft zwischendurch für eine halbe Sekunde.
 
Offensichtlich schon, aber da das Wort "new", also eindeutig eine PHP-Syntax verwendet wurde, kann es doch wohl auch etwas damit zu tun haben.

Thema usleep: php.net sagt, die Funktion geht unter Windows garnicht.


Ich hab das Ganze jetzt über den Taskplaner geregelt, brauchst also keine Anleitung mehr zu schreiben. Dennoch, danke vielmals für deine Hilfe Madman!
 
Wie gesagt, mit den geplanten Tasks funktioniert das ganze...


Die Datei liegt auf dem Server und wird vom selbigen auch logischerweise ausgeführt.
 
Zurück
Oben