Warteschleife in PHP-Skript
Hallo.
Gibt es in PHP die Möglichkeit das ein Skript nur einmal laufen darf? Sprich wenn es bereits am arbeiten ist, kann es nicht während dessen bei einem anderen User auch laufen.
Das einzige was mir einfällt wäre das mit einem Datenbankeintrag zu lösen.
Beim Start des Skripts wird eine bestimmte Tabelle in der Datenbank auf die Werte "0" und "1" geprüft.
0 = Frei
1 = Besetzt
Wenn in der Tabelle "0" eingetragen ist, wird dies zu einer "1" geändert und das Skript ist somit in Arbeit. Am Ende des Skriptes wird die "1" wieder zur "0" geändert.
Gibt es evtl. eine bessere Lösung?
Denn wenn ein User das Skript ausführen möchte aber es aktuell besetzt ist, soll nicht so ein blöder Hinweis wie "PHP-Skript momentan besetzt" oder so erscheinen.
Am besten wäre eine Lösung wo dann eine Meldung kommen würde wie "Sie stehen an Position 2 an. Bitte haben Sie einen kurzen moment Geduld". Und sobald es fertig ist, soll das Skript laufen.
Hallo.
Gibt es in PHP die Möglichkeit das ein Skript nur einmal laufen darf? Sprich wenn es bereits am arbeiten ist, kann es nicht während dessen bei einem anderen User auch laufen.
Das einzige was mir einfällt wäre das mit einem Datenbankeintrag zu lösen.
Beim Start des Skripts wird eine bestimmte Tabelle in der Datenbank auf die Werte "0" und "1" geprüft.
0 = Frei
1 = Besetzt
Wenn in der Tabelle "0" eingetragen ist, wird dies zu einer "1" geändert und das Skript ist somit in Arbeit. Am Ende des Skriptes wird die "1" wieder zur "0" geändert.
Gibt es evtl. eine bessere Lösung?
Denn wenn ein User das Skript ausführen möchte aber es aktuell besetzt ist, soll nicht so ein blöder Hinweis wie "PHP-Skript momentan besetzt" oder so erscheinen.
Am besten wäre eine Lösung wo dann eine Meldung kommen würde wie "Sie stehen an Position 2 an. Bitte haben Sie einen kurzen moment Geduld". Und sobald es fertig ist, soll das Skript laufen.
Zuletzt bearbeitet: