So führen Sie PHP-Befehle aus, ohne auf Ergebnisse zu warten
In PHP kann der Befehl exec externe Befehle ausführen, aber standardmäßig wartet PHP bis der Befehl beendet ist, bevor Sie fortfahren. In bestimmten Szenarien ist es jedoch wünschenswert, einen Befehl zu starten und mit anderen Aufgaben fortzufahren, ohne auf die Ergebnisse zu warten.
Lösung:
Die PHP-Dokumentation bietet eine Lösung um Befehle ohne Blockierung auszuführen:
// Redirect stdout and stderr to /dev/null to suppress output exec('run_baby_run > /dev/null 2>&1 &');
Dieser Befehl:
Alternative Lösung zum Lösen der Prozess:
Um den Prozess vom Apache-Thread zu trennen und sicherzustellen, dass er auch dann weiterläuft, wenn das PHP-Skript beendet wird, verwenden Sie diesen Befehl:
exec('bash -c "exec nohup setsid your_command > /dev/null 2>&1 &"');
Diesen Befehl:
Das obige ist der detaillierte Inhalt vonWie führe ich PHP-Befehle asynchron aus, ohne sie zu blockieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!