Vielleicht, aber da ich das Script nicht kenne ....
PHP Sleep und Weiterleitung
-
-
Ich verstehe auch ehrlich nicht, warum Du unbedingt um eine saubere Lösung drum rum basteln willst.
Welchen Vorteil versprichst Du Dir davon?
-
Was wäre denn eine Saubere Lösung?
Mit einem Shell Script ist es das selbe als wenn ich es direkt in die PHP File Schreibe.
Es funktioniert soweit auch. Ich muss nur einen weg finden das man sobald man auf der Seite ist, sich die Seite 1x aktualisiert.
-
Ich verstehe die Begründug für sleep nicht.
Wenn Du zwei Befehlszeilen hast, einmal wget und dann irgendwas anderes, dann wird das der Reihenfolge nach abgearbeitet.
Die zweite Zeile wird erst verarbeitet, wenn wget komplett fertig und beendet ist.
Ich erkenne einfach keinen Grund den Prozess schlafen zu legen. Liegt aber vielleicht an mir, k.A.
-
Ich verwende Sleep ja nicht mehr.
//edit
Aktuell sieht mein Script so aus:
Code- if(isset($_POST['create'])){
- $username = $_POST['username'];
- $ip = $_POST['ip'];
- $rand = rand(1000, 9999);
- $id = (string)$rand;
- if(!isset($fehler)){
- try{
- $insertQuery = "INSERT INTO system(id, username, ip, port, online) VALUES (:id, :username, :ip, :port, :online) ";
- $insertStmt = $dbv->prepare($insertQuery);
- $result = $insertStmt->execute(
- array(
- ":id" => $id,
- ":username" => $username,
- ":ip" => $ip,
- ":port" => "9987",
- ":online" => "1"
- )
- );
- if($result){
- if($outpout = ssh2_exec($connection, 'curl -o /home/system_'. $id .'.zip "systemseite.de/download"')) {
- $insertQuery = "UPDATE system SET wget = '1' WHERE id = :id";
- $insertStmt = $dbv->prepare($insertQuery);
- $fertig = $insertStmt->execute(
- array(
- ":id" => $id
- )
- );
- if($fertig) {
- header("LOCATION: install_wait.php?id=" . $id ."");
- exit();
- }
- }
- }
- } catch(EXCEPTION $a){
- echo "Ein Fehler ist aufgetreten: " . $a->getMessage();
- exit();
- }
- }
- }
Und auf der Seite:
(install_wait.php?id=" . $id . "") sieht das ganze so aus:Leider ist es so das "unzip" erst ausgeführt wird wenn ich die Seite 1x Aktualisiere. Weiß jemand wie man das ändern kann?