Php-Exec-timeout
Habe ich Folgendes exec()
Befehl mit einer &
Zeichen am Ende, so dass das Skript im hintergrund ausgeführt wird. Aber das script läuft nicht im hintergrund. Es ist ein Timeout im browser genau nach 5.6 Minuten. Auch wenn ich in der Nähe der browser das Skript nicht laufen.
exec("/usr/local/bin/php -q /home/user/somefile.php &")
Wenn ich das Skript über die Kommandozeile, ist es nicht Zeit aus. Meine Frage ist, wie kann ich verhindern, dass timeout. Wie führe ich das script im hintergrund mit exec-es ist also nicht browser abhängig. Was mache ich falsch und was muss ich sehen.
- stackoverflow.com/questions/45953/...
- wie kann ein shell-Befehl "Zeitüberschreitung im browser" ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
exec()
function handle Ausgänge von Ihr ausgeführte Programm, so schlage ich vor, Sie umzuleiten-Ausgänge/dev/null
(eine virtuelle beschreibbare Datei, dass verlieren automatisch alle Daten, die Sie schreiben).Versuchen zu laufen :
Hinweis :
2>&1
leitet die Fehlerausgabe in die Standardausgabe, und> /dev/null
leitet die Standardausgabe um, die virtuelle Datei.Wenn Sie immer noch Schwierigkeiten haben, können Sie ein Skript erstellen, das nur der Ausführung anderer Skripte.
exec()
folgt ein Prozess, wenn er tut, eine Aufgabe, aber freigibt, wenn die Aufgabe beendet ist. wenn das ausgeführte Skript nur ausführt, eine andere, die Aufgabe ist sehr schnell und exec freigegeben wird auf die gleiche Weise.Lassen Sie uns sehen, eine Umsetzung. Erstellen Sie eine
exec.php
enthält :Nun, führen Sie den folgenden Befehl ein :
Wenn Sie Argumente haben, können Sie Ihnen zu :
Benötigen Sie
shell_exec()
statt:That being said, wenn Sie shell-Zugriff, warum nicht installieren Sie diese wie einen cronjob? Ich bin mir nicht sicher, warum ein PHP-script aufrufen anderen zu laufen wie diese.
exec()
würde das nicht trennen-ein Prozess, wenn Sie mit&
Zeichen auf einer Linux-Umgebung.