Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich PHP-Befehle asynchron ausführen, ohne das Skript zu blockieren?
PHP-Befehle ausführen, ohne auf Ergebnisse zu warten
Um einen PHP-Befehl auszuführen, ohne auf das Ergebnis zu warten, muss der Befehl so gestaltet sein, dass er nicht gesendet wird Ausgabe zurück an das PHP-Skript. Dies kann erreicht werden, indem sowohl die Standardausgabe (stdout) als auch die Standardfehlerausgabe (stderr) nach „/dev/null“ umgeleitet und der Befehl im Hintergrund ausgeführt wird.
Der folgende Befehl erreicht dies:
> /dev/null 2>&1 &
Um einen Befehl als separaten Prozess, unabhängig vom Apache-Thread, auszuführen, kann der folgende Befehl verwendet werden:
exec('bash -c "exec nohup setsid your_command > /dev/null 2>&1 &"');
Dieser Befehl wird:
Durch die Verwendung dieser Techniken kann PHP Befehle ausführen, ohne das Skript oder den Apache-Thread zu blockieren, und die Verarbeitung nachfolgender Befehle fortsetzen.
Das obige ist der detaillierte Inhalt vonWie kann ich PHP-Befehle asynchron ausführen, ohne das Skript zu blockieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!