PHP Befehl verschicken, ohne den inhalt zu laden

strex

Erfahrenes Mitglied
Hi Leute,

ich hab ein Script das Befehle an ein anderes sendet, da das andere aber einige Zeit zum laden braucht, soll das Hauptscript nicht warten auf die Bestätigung sondern weiter machen. Es muss nur den Befehl senden, mehr nicht.

Mein jetziger Code sieht so aus, leider wartet das script bis das andere den unnötigen Inhalt liefert, es soll aber nur aufrufen und nicht auf den Inhalt warten, sondern weiter laufen.

PHP:
$url = 'http://'.$xxxserv.'/xxx.php?ip='.$server.'&user='.$user.'&pass='.$pw.'&file='.$otrkey.'&ordner='.$dir.'&size='.$size.'&seccode='$sec'';
       
$ch = curl_init();

       curl_setopt ($ch, CURLOPT_URL, $url);

       curl_exec ($ch);

       curl_close ($ch);

Wie könnte ich das realisieren?

Grüße strex
 
Tobias: Eventuell irre ich mich, aber das Script läuft auch in diesem Fall "prozedural" ab, woran dein Vorschlag nichts ändern sollte.
Aus diesem Grund wäre eine multihreaded Ausführung nicht schlecht, wie sie zB hier unter Process Control erklärt wird. Hatte bisher leider nicht genug Zeit um mich tiefer mit der Materie zu beschäftigen, aber sollte nach ein paar Minuten Studiererei ganz nützlich sein. Alternativ könntest du die entsprechenden Funktionen zu einer Shutdown-Funktion zusammenfassen und am Ende des Scripts automatisch ausführen lassen. Zum Zeitpunkt des Shutdowns werden keine Daten mehr an den Client übertragen, und somit entfällt die lästige Ladeprozedur nach Außen hin.
 
Tobias: Eventuell irre ich mich, aber das Script läuft auch in diesem Fall "prozedural" ab, woran dein Vorschlag nichts ändern sollte.

Du hast Recht, liegst aber auch falsch ;)
Wenn in das Zielscript ein ignore_user_abort eingefügt wird, läuft dieses Script auch ncoh weiter, nachdem die Http-Abfrage abgebrochen wurde.
Man öffnet also eine Socket-Verbindung zu dem Script und schließt daraufhin sofort die Verbdingung wieder, das Aufrufer-Script braucht nichtmal eine Sekunde zu laufen und das Zielscript macht dann alles, somit kann man auch dutzende Prozesse von dem Aufrufer-Script starten und diese werden alle parallel ausgeführt und man muss nicht mal auf deren Beendigung warten.
 
Zurück