Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich nach der Übermittlung eines Formulars ein PHP-Skript mit langer Laufzeit im Hintergrund ausführen?
Stellen Sie sich ein Formular vor, das übermittelte Informationen verarbeitet und in diese einfügt eine Datenbank und sendet Benachrichtigungen an eine Liste von Abonnenten. Aufgrund der Anzahl der Abonnenten (ca. 150) dauert der Vorgang jedoch erheblich (über eine Minute). Dies führt zu einer Verzögerung und potenziellen Problemen für Benutzer:
Zur Adresse Dazu sollte der E-Mail-Benachrichtigungsteil des Skripts in eine eigene Datei aufgeteilt werden. Das Ausführen dieser Datei als Hintergrundaufgabe ist jedoch unerlässlich, um die Notwendigkeit einer Interaktion des Benutzers zu beseitigen.
Um ein PHP-Skript als Hintergrunddienst auszuführen, ist ein externer Dienst erforderlich Der Prozess muss entweder mit exec oder Shell_exec aufgerufen werden.
Mit Shell_exec ermöglicht die Protokollierung des Benachrichtigungsprozesses. Mit dem folgenden Befehl wird die gewünschte Funktionalität erreicht:
shell_exec("/path/to/php /path/to/send_notifications.php '".$post_id."' 'alert' >> /path/to/alert_log/paging.log &");
Das &-Zeichen am Ende des Befehls gibt an, dass der Prozess im Hintergrund ausgeführt werden soll.
Das obige ist der detaillierte Inhalt vonWie kann ich nach der Übermittlung eines Formulars ein PHP-Skript mit langer Laufzeit im Hintergrund ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!