Auffangen von Rückenwind oder wie man ein PHP-Skript ausführt. Interaktive PHP-Konsolenanwendung

Ich möchte sofort reservieren, dass alles, was in diesem Artikel besprochen wird, nur für Unix-ähnliche Betriebssysteme gilt und nicht unter Windows funktioniert. Es geht um Alternative zur Krone... Unglückliche Windows-Liebhaber müssen basteln "Aufgabenplaner"- Black Magic wird für sie unzugänglich bleiben :) Außerdem benötigen Sie SSH-Zugriff und idealerweise PHP-Skripte Zugriff auf die Befehlszeile.

Was ist ein Daemon-Programm und wie schreibt man einen Daemon in PHP?

Dämon(Dämon, Dmon, altgriechische αίμων Gottheit) - Computer Programm auf Systemen der UNIX-Klasse, die vom System selbst gestartet werden und in laufen Hintergrund ohne direkte Benutzerinteraktion. Daemons werden normalerweise beim Booten gestartet.

Gilt für PHP, dies ist ein Skript, das eigenständig, ohne Unterbrechung und ohne Benutzereingriff ausgeführt werden kann. Wie bekomme ich ein solches Skript? Tatsächlich ist es sehr einfach, Sie müssen nur eine der ersten Programmierregeln brechen, die in der Schule gelehrt werden, und Erstellen Sie eine Endlosschleife:

// Damit das Programm die ganze Zeit läuft, muss es nur die ganze Zeit laufen;) while (1) (// Der Code des Daemons befindet sich hier // ... // Die Zeit, die der Daemon zwischen den Iterationen schläft ( hängt von den Bedürfnissen des Systems ab) Schlaf (1);)

Der bis zur Unmöglichkeit einfache Code wirft dennoch einige Fragen auf. Wie starte ich es? Wie kann ich seinen Fortschritt verfolgen? Wie kann ich es stoppen?

So starten Sie den PHP-Daemon

Wie laufen PHP-Skripte? Wenn es sich um eine Webanwendung handelt, verwenden Sie einen Browser und einen Webserver. Diese Option ist jedoch nicht geeignet, da es sich um ein unendliches Skript handelt und die Ausführungszeit von Skripten durch die Direktive begrenzt ist max_execution_time In php.ini... Daher muss ein unendliches Skript über die Konsole ausgeführt werden, da dann die maximale Ausführungszeit nicht berücksichtigt wird. Der Befehl zum Starten des Daemons sieht wie folgt aus:

Php -f /path/to/your/daemon.php &

Um es manuell zu starten, müssen Sie es im ssh-Terminal (Putty, WinSCP usw.) eingeben und das System beim Booten starten - in der entsprechenden Autoload-Datei (Speicherort und Name der Datei hängt von Betriebssystem). Beachten Sie, dass die Konsole das Daemon-Skript läuft im Hintergrund ohne den Benutzer daran zu beteiligen, auf seine Fertigstellung zu warten (schließlich ist das Skript endlos). Gerade in der Möglichkeit, einen Prozess im Hintergrund auszuführen, ist der von mir beschriebene Grund für Windows-Server nicht geeignet. Nach dem Start sollte die Konsole anzeigen Prozess ID unser Daemon, die sogenannte PID.

Dämonen aufspüren und stoppen

Sie können überprüfen, ob der Daemon-Prozess ausgeführt wird, indem Sie einfach die Liste der Prozesse auf dem System öffnen:

Ps -aux

Es ist nicht schwer, den Daemon in der Liste der Prozesse zu finden, sowohl über den Startbefehl als auch über die PID:

USER PID% CPU% MEM VSZ RSS TTY STAT STARTZEITBEFEHL ... root 22193 0.1 0.2 393180 72132? S Apr24 5:05 php -f /path/to/your/daemon.php &

Daemon-Prozess stoppen Sie können wie jeden anderen Prozess auch:

Töte xxxx

Im obigen Beispiel ist xxxx die PID, die Prozesskennung.

Es ist erwähnenswert, dass dies kein Halt ist, sondern den Dämonenprozess "tötet". Tatsache ist, dass die Arbeit des Drehbuchs überall unterbrochen wird, was nicht immer für jeden geeignet ist. Theoretisch sollte der Daemon in diesem Fall irgendwo zwischen seinen Iterationen und nicht mehr von der Konsole aus gestoppt werden. Zum Beispiel können wir eine Anforderung zum Stoppen des Skripts in der Datenbank oder in einer Datei auf dem Server erstellen und zwischen den Iterationen des Daemons prüfen, ob eine solche Anforderung vorliegt. Wenn die Anwendung gefunden wird, Stoppen Sie die Schleife mit einer break-Anweisung.

Dämonenkontrollsystem

Aber was ist, wenn Sie viele Dämonen gleichzeitig erschaffen und verfolgen möchten? Bei dem oben erwähnten CheckTrust-Dienst sind beispielsweise mehr als 30 solcher Skripte an der Verarbeitung von Benutzerdaten und Projekten beteiligt. Es ist sehr umständlich, sie von der Konsole aus zu erstellen und zu überwachen - eine benutzerfreundlichere Oberfläche ist erforderlich.

Cool, ja? :) Pünktlich zum Erstellen so ein system Es wäre schön, wenn man von PHP aus auf die Kommandozeile zugreifen könnte. Jeder Daemon ist ein Eintrag in der Datenbank, gegenüber dem Sie den Befehl zum Starten sowie die PID des Prozesses setzen können. Daher ist es möglich, Daemons direkt über das Webinterface zu starten, zu stoppen und den Status zu überwachen. Als Ergebnis stellte sich heraus, dass die Daemons selbst Teil der Konsolenanwendung waren und das Steuerungssystem für sie Teil der Webanwendung wurde.

Da das oben gezeigte System ausschließlich auf CheckTrust zugeschnitten ist, werde ich seinen Code nicht zeigen. Aber ich werde den Code hier kopieren php-Klasse zum Verwalten von Prozessen mit dem ich es erstellt habe:

<?php / * * Process.php * Eine einfache Möglichkeit, den Überblick über externe Prozesse zu behalten. * Wollten Sie schon immer einen Prozess in PHP ausführen, aber Sie wollten trotzdem etwas Kontrolle über den Prozess haben? Nun .. Dies ist eine Möglichkeit, es zu tun. * @Kompatibilität: Nur Linux. (Windows funktioniert nicht). * @author: Peec * / class Process (private $ pid; private $ command; öffentliche Funktion __construct ($ cl = false) (if ($ cl! = false) ($ this-> command = $ cl; $ this-> runCom (;)) private Funktion runCom () ($-Befehl = "nohup". $ this-> Befehl. "> /dev / null 2> & 1 & echo $!"; exec ($-Befehl, $ op); $ this-> pid = (int) $ op;) öffentliche Funktion setPid ($ pid) ($ this-> pid = $ pid;) öffentliche Funktion getPid () (return $ this-> pid;) öffentliche Funktion status () ( $ command = "ps -p". $ this-> pid; exec ($ command, $ op); if (! isset ($ op)) return false; else return true;) public function start () (if ( $ this-> command! = "") $ this-> runCom (); else return true;) public function stop() ($ command = "kill". $ this-> pid; exec ($ command); if ( $ this-> status () == false) true zurückgeben; sonst false zurückgeben;))?>

Der einzige Nachteil dieser Klasse ist, dass ich deine bereits beschrieben habe - sie stoppt Prozesse mit der Methode kill, aber für den Moment reicht mir das :) Und hier ist Beispiel für seine Verwendung:

// Starten Sie den Daemon und rufen Sie die PID ab (vorausgesetzt, die PID wird nach dem Start irgendwo gespeichert) $ command = ""; $ Prozess = neuer Prozess ($ Befehl); $ processId = $ process-> getPid (); // Status des Daemons prüfen $ process = new Process (); $ Prozess-> setPid ($ ProzessId); $ Status = $ Prozess-> Status (); // gibt true oder false zurück // Stoppen Sie den Daemon $ process = new Process (); $ Prozess-> setPid ($ ProzessId); $ gestoppt = $ Prozess-> stop(); // gibt wahr oder falsch zurück

Zusammenfassend möchte ich sagen, dass dies nicht die einzig mögliche und möglicherweise nicht die optimalste Implementierung von Daemons in PHP ist. Zum Beispiel gibt es eine coole PHP-Erweiterung PCNTL für Multiprozess-Daemons. Jemand mag sogar sagen, dass es für Konsolenanwendungen ganz andere Programmiersprachen gibt. Aber was auch immer man sagen mag, diese Implementierung hat unbestreitbar Leistungen:

  • Sie ist einfach wie ein Turnschuh. Ein Dämon ist nur eine Endlosschleife, viel einfacher.
  • Es ist mit Webanwendungen kompatibel- Als Teil eines Webservice stützen sich meine Daemons auf bestehende Entwicklungen, verwenden dieselben Datenmodelle, Klassen und Methoden, um damit zu arbeiten.
  • Sie arbeitet! Im Ernst - einige unserer Dämonen laufen seit mehreren Monaten und sind gut geschrieben, nicht dumm, frieren nicht ein, verbrauchen keinen Speicher.

Vielen Dank für Ihre Aufmerksamkeit :) Falls jemand Fragen oder Ideen hat, beantworte ich diese gerne in den Kommentaren.

PHP ist eine der beliebtesten Programmiersprachen im Web. Seine Popularität ist vor allem auf seine leichte Erlernbarkeit und Vielseitigkeit zurückzuführen. Aber sein Umfang endet nicht nur mit der Erstellung einfacher Webseiten. PHP-Skripte können ausgeführt werden von Befehlszeile, mit dem Sie vollwertige Konsolenanwendungen darauf schreiben können.

Wie führe ich ein PHP-Skript über die Befehlszeile aus?

Unabhängig vom verwendeten Betriebssystem müssen Sie zum Ausführen des Skripts den folgenden Befehl in die Konsole eingeben:

PHP-Skript.php

Ihr Betriebssystem zeigt möglicherweise eine Meldung an, dass der PHP-Befehl unbekannt ist. In diesem Fall und wenn Sie sicher sind, dass der PHP-Interpreter selbst korrekt installiert ist, hilft die Angabe des vollständigen Pfads zum Interpreter beim Ausführen des Skripts.

C:\php\php.exe script.php

Für UNIX-ähnliche Systeme:

/usr/bin/php script.php

Bitte beachten Sie, dass der Pfad zum PHP-Interpreter auf Ihrem System unterschiedlich sein kann, daher sollte dies ebenfalls berücksichtigt werden. Für Benutzer des beliebten WampServer-Pakets könnte der Pfad beispielsweise wie folgt lauten:

C:\wamp\bin\php\php5.3.8\php.exe

Um nicht jedes Mal den vollständigen Pfad einzugeben, sollten Sie den Pfad zum Interpreter der Umgebungsvariablen PATH Ihres Betriebssystems hinzufügen.

Schreiben eines einfachen Skripts, um den Antwortcode des Servers zu überprüfen

Um die Funktionen des Skripts von der Befehlszeile aus anzuzeigen, werden wir eine einfache Anwendung schreiben, die dauert: Textdatei mit Links und überprüfen Sie den Server-Antwortcode für jeden dieser Links. Darüber hinaus bieten wir Ihnen die Möglichkeit, die gewünschte Datei interaktiv auszuwählen, um gleichzeitig zu erfahren, wie das geht.

Unmittelbar nach dem Start wählt das Skript alle Dateien mit der Erweiterung *.txt aus dem Dateiordner aus. Dann zeigt es dem Benutzer diese Liste im Format Nummer => Name an und wartet darauf, dass der Benutzer die Nummer der interessierenden Datei eingibt.

Das Abrufen aller Dateien per Maske ist einfach, dafür verwenden wir die Standard-Glob-Funktion, aber das Lesen von Daten aus der Konsole ist etwas interessanter. Tatsache ist, dass nach dem Ausführen des Skripts über die Befehlszeile darin drei Standardstreams geöffnet werden: für Ausgabe (STDOUT), Eingabe (STDIN) und Fehler (STDERR). Zeiger auf diese Streams stehen dem Skript als gleichnamige Konstanten zur Verfügung und Sie können mit ihnen wie beispielsweise mit gewöhnlichen Dateien arbeiten. Um Daten von der Konsole zu lesen, reicht es also aus, einfach eine Zeile aus dem Eingabestream zu lesen: fgets (STDIN).

$ files = glob ("Dateien / *.txt"); $ files oder exit ("Keine Dateien zu überprüfen.". PHP_EOL); echo "Dateien im Ordner:" .count ($-Dateien) .PHP_EOL; foreach ($-Dateien als $-Index => $-Name) (echo "[($-Index)] => ($-Name)". PHP_EOL;) echo "Wähle die Datei:"; $ choice = intval (fgets (STDIN));

Nachdem der Benutzer seine Auswahl getroffen und die Richtigkeit der Auswahl überprüft hat, können wir die Datei zum Lesen öffnen.

Array_key_exists ($ choice, $ files) oder exit ("Falsche Datei ausgewählt.". PHP_EOL); $ Datei = $ Dateien [$ Auswahl]; echo "Datei wird verarbeitet" ($-Datei) "...". PHP_EOL; $ start_time = Mikrozeit (wahr); $ code_stats = Array (); $ f = fopen ($-Datei, "r");

Mit der while-Schleife beginnen wir, alle Zeilen in der Datei zu durchlaufen. Die Strings müssen korrekte URLs sein, andernfalls können wir den richtigen Server-Antwortcode nicht ermitteln. Die Header für jede Adresse werden mit der Standardfunktion get_headers abgerufen, und der Antwortcode befindet sich normalerweise in der ersten Zeile des Headers.

While ($ url = trim (fgets ($ f))) ($ headers = get_headers ($ url); if (is_array ($ headers)) (array_key_exists ($ headers, $ code_stats) or $ code_stats [$ headers] = 0 ; $ code_stats [$ headers] ++; echo date ("H: i: s"). "HTTP code" ($ headers) "for url" ($ url) "". PHP_EOL;) else (array_key_exists ("Unknown ", $ code_stats) oder $ code_stats [" Unknown "] = 0; $ code_stats [" Unknown "] ++; echo date (" H: i: s ")." Problem mit URL "($ url)" ". PHP_EOL;)) fclose ($f);

Als Ergebnis können Sie nach der Verarbeitung der Datei eine kleine Statistik darüber anzeigen, wie lange die Verarbeitung gedauert hat und welche Antwortcodes wie oft aufgetreten sind.

$ elapsed_time = round (microtime (true) - $ start_time, 3); echo "Datei verarbeitet in ($ elapsed_time) s" .PHP_EOL; echo "Code-Statistiken sind:". PHP_EOL; print_r ($code_stats);

Das Ergebnis des Betriebs einer solchen Anwendung kann beispielsweise die folgende Ausgabe sein:

$ php check.php Dateien im Ordner: 1 => files / db.txt Datei auswählen: 0 Datei "files / db.txt" verarbeiten ... 18:33:43 HTTP-Code "HTTP / 1.0 200 OK" für URL "http://mail.ru/" 18:33:45 HTTP-Code "HTTP / 1.1 301 Permanently Moved" für URL "http://yandex.ru/" 18:33:46 HTTP-Code "HTTP / 1.1 302 Moved Vorübergehend "für URL" http://rambler.ru/ "18:33:47 HTTP-Code" HTTP / 1.0 301 Verschiebt dauerhaft "für URL" http://google.ru/ "Datei verarbeitet in 5.558s Code-Statistiken sind: Array (=> 1 => 1 => 1 => 1)

Schlussfolgerungen

Das war's, einfach und interaktiv Konsolenanwendung PHP-fähig. Ich wollte kein völlig nutzloses Programm schreiben, daher eignet sich dieses Skript nicht nur zum Lernen, sondern auch zum Anwenden. Wenn Sie beispielsweise eine Sitemap in einer Textdatei speichern, hilft das Skript bei der Ermittlung mögliche Fehler mit Links, und wenn Sie es ein wenig ändern, wird sogar angezeigt, welche :).

Die Anwendung selbst kann heruntergeladen werden.

Ich heiße jeden willkommen. Heute beginne ich in einer neuen Rubrik zu schreiben - PHP! Grundsätzlich wird es die Grundlagen und Grundlagen dieser Sprache geben. Und zuerst werde ich Ihnen sagen, wie Sie eine PHP-Datei in einem Browser öffnen.

Warum öffnet sich PHP nicht wie HTML?

Hier ist die Sache: PHP ist eine serverseitige Sprache. Html und Javascript sind clientseitig. Dementsprechend müssen Sie zum Ausführen des PHP-Codes den Server starten, nur in diesem Fall kann die Datei geöffnet werden. Eigentlich gibt es nur 2 Möglichkeiten:

  1. Erstellen Sie eine Website auf echtem Hosting, auf der Sie mit PHP experimentieren
  2. Erstellen Sie einen lokalen Server, auf dem Sie eine unbegrenzte Anzahl von Websites kostenlos auf Ihrem Computer erstellen und so viel experimentieren können, wie Sie möchten.

Und ich rate Ihnen dringend genau die zweite Option. Dementsprechend müssen Sie einen solchen Server installieren, bevor Sie mit dem Öffnen von PHP-Dateien beginnen. Denken Sie nur nicht, dass es schwer ist - Sie können es in nur wenigen Minuten tun. Von den bekanntesten lokalen Servern für Fenster Ich kann folgendes herausgreifen:

  1. OpenServer
  2. Denwer
  3. Xamp

Ich persönlich habe nur mit Denver zusammengearbeitet. Ich könnte separat über die Installation schreiben, aber ich entschied, dass es nichts Besseres geben konnte als die offizielle Dokumentation der Entwickler. In dieser Hinsicht ist es hier. Im Internet finden Sie unzählige Artikel und Videos über die Installation anderer Server.

Wie öffne ich eine PHP-Datei nach der Serverinstallation?

Ist der Server installiert? Großartig, jetzt haben Sie alles, um PHP-Dateien auszuführen. Um dies zu tun, muss Ihr lokaler Server ausgeführt werden. Dies ist die Verknüpfung, die Sie auf Ihrem Desktop haben sollten:

Jetzt müssen Sie eine neue Site erstellen für lokaler Server... Auch hier zeige ich Ihnen nur, wie dies in Denver geht. Gehe zu root-Verzeichnis Server, hier finden wir den Ordner Heimat... Es enthält alle Ihre Websites. Sie müssen einen neuen Ordner erstellen, sein Name ist der Name der neuen Site. Stellen Sie sicher, dass Sie im erstellten Ordner einen Ordner erstellen www, ohne geht nichts. Der letzte Schritt besteht darin, die erforderlichen PHP-Dateien (die geöffnet werden müssen) in den Ordner www zu legen. Es ist die Wurzel für die Site.

Das Öffnen von PHP-Dateien unterscheidet sich vom Öffnen von HTML. Sie können sie nicht direkt im Browser öffnen, in diesem Fall sehen Sie nur den Code. Um eine Datei zu öffnen, müssen Sie die Site, auf der sie sich befindet, sowie den Pfad zur Datei auf der Site registrieren. Ich möchte betonen, dass, wenn Sie nur den Namen der Site eingeben (ohne http://, aber mit einem Schrägstrich), der Server index.php startet, falls vorhanden.

Beispiel:
Ich habe auf dem lokalen Server einen phptest-Ordner erstellt, www darin, und ihn bereits dort abgelegt erforderliche Dateien... Großartig, jetzt müssen Sie Denver neu starten, wenn Sie es ausgeführt haben. Wenn nicht, führen Sie es einfach aus. Jetzt müssen Sie in der Browserzeile Folgendes eingeben: phptest /

So kommst du zu Startseite Seite? ˅. Diese Datei sollte index.php heißen. Zum Beispiel habe ich einen Taschenrechner in php erstellt und in phptest namens calc.php eingefügt. Ich registriere die Adresse vor dieser Datei:

Super, der Rechner hat sich geöffnet. Sie können die Anwendung testen.

Wie kann ich PHP nicht öffnen?

Es muss nicht wie HTML-Dateien gemacht werden. Das heißt, nicht durch "Zu öffnen mit""Browser"... Sie sehen also nur den Quellcode der Datei, aber keinesfalls das Ergebnis ihrer Ausführung.

Das war's, wir haben herausgefunden, wie man eine PHP-Datei in einem Browser öffnet. Es reicht aus, den lokalen Server einmal zu installieren und zu konfigurieren, und in Zukunft können Sie Dateien dieser Berechtigung problemlos öffnen. Das ist alles für heute. Hoffe es gelingt dir. Bis dann.

Vom Autor: Wenn Sie schon einmal einen Drachen geflogen sind, wissen Sie, dass es nicht so einfach ist, obwohl es von außen so aussieht, als ob es das Gegenteil ist. Tatsächlich muss man sich daran gewöhnen, rechtzeitig am Seil zu ziehen oder die Luft-"Welle" einzufangen. Heute erzähle ich Ihnen, wie Sie ein PHP-Skript ausführen und welche "Strings" Sie ziehen müssen, damit es nicht nur funktioniert, sondern "fliegt"!

Startfunktionen

Wie bereits mehrfach erwähnt, handelt es sich um eine serverseitige Programmiersprache, daher wird es etwas schwieriger sein, das Ergebnis ihres Codes im Browser zum Laufen zu bringen. Dazu muss sich die Datei direkt auf dem Server-Space befinden. Es gibt zwei Arten von Servern, die für die Arbeit mit PHP verwendet werden:

Regulär (Remote) - wird vom Hoster bereitgestellt.

Lokal – auf dem Client-Rechner installiert.

Um das Ergebnis des Skripts zu sehen, wird auf der Hosting-Seite die Adresse des folgenden Formats in die Browserzeile eingegeben: your_site.ru / filename.php

Auf einem lokalen Server ist dies nicht der Fall. Bevor wir das PHP-Skript in einem Browser ausführen, lassen Sie uns diese Funktionen herausfinden.
Die gewählte Adresse kann je nach verwendetem Server unterschiedlich sein. Am häufigsten kommen in "unserem" Bereich verschiedene Assemblies mit Apache zum Einsatz, von denen Denver am weitesten verbreitet ist.

Ausführen eines Skripts in Denwer

In "Apache"-Assemblys werden alle Skripte in localhost ausgeführt. Um dies in der Praxis zu demonstrieren, erstellen wir einige interessantes Beispiel... Hier ist sein Code:



< html >

< head >

< meta http - equiv = "refresh" content = "1" >

< / head >

< body >

< time style = "Schriftgröße: 36px; Farbe: rgb (102,255,102)"> < / time >

< / body >

< / html >

Platzieren Sie diesen Code in einer PHP-Datei und speichern Sie ihn auf der virtuellen Festplatte, die nach dem Starten des lokalen Servers erstellt wird. Ich habe diese Datei test2.php.

Oben im Bild befindet sich der Pfad, in dem Sie die erstellte Datei ablegen möchten. Dieser Pfad kann für Sie etwas anders sein, wenn bei der Denver-Installation ein anderer Name der virtuellen Festplatte angegeben wurde.

Lassen Sie uns nun herausfinden, wie Sie ein PHP-Skript auf einem Computer ausführen. Geben Sie dazu die Adresse im Browser im Format an: localhost / filename.php

Wir fangen an zu leiden

Vielleicht zu langweiliger Titel für den Abschnitt, aber ich machte mir ein wenig Sorgen, bis ich die Datei über die Befehlszeile öffnen konnte. Beim Startversuch gab das PC-System diese Art von Fehler aus:

Dies ist seltsam, da die von mir erwähnten Bibliotheken im ext-Ordner vorhanden waren. Es stellt sich heraus, dass sich das Ganze in den falsch geschriebenen Pfaden in der Konfigurationsdatei php.ini befindet.

Darin müssen Sie den Abschnitt "Pfade und Verzeichnisse" finden und den im Parameter extension_dir angegebenen Pfad korrigieren. Ändern Sie die rechten Schrägstriche in linkshändige und fügen Sie den Buchstaben der virtuellen Festplatte am Anfang der Adresse hinzu.

Wenn Sie das PHP-Skript nicht erneut über die CMD-Konsole ausführen können, sollten Sie sich alle in der Fehlermeldung genannten Pfade ansehen und beheben.

Wenn alles in Ordnung ist

In der Kommandozeile muss das System den Pfad angeben, in dem sich die "ausführbare Datei" des PHP-Interpreters befindet. In Denver befindet es sich in diesem Pfad: Z:\usr\local\php5

Hier befindet sich auch die globale Konfigurationsdatei.

Wir starten die Kommandozeile von Windows. Dann teilen wir dem System den Pfad zur ausführbaren Datei mit PHP-Datei... Legen Sie dann den Pfad zum gewünschten Skript fest: Z:\usr\local\php5\php.exe Z:\home\localhost\www\test2.php

Aber am Ende erhalten Sie ein nicht ganz erwartetes Ergebnis:

Dies liegt daran, dass die Befehlszeile die Tags "nicht versteht". Bevor wir das PHP-Skript über die Befehlszeile starten, ändern wir den Code ein wenig, damit er uns nur die aktuelle Uhrzeit ohne den "Uhr"-Effekt zurückgibt.

Gastroguru 2017