Ausgaben neben STOUT von einem Prog mit shell_exec in php-Script

mr b

Mitglied
heyho,
ich habe vor geraumer Zeit ein php-Script geschrieben, mit welchem ich durch shell_exec via Curl mehrere Dateien übertrage. Aufgerufen wurde das Gesamtkonzept durch die Shell ( php -f get.php ). Da die Dateien teils von beträchtlicher Größe sind, dauert die Übertragung der einzelnen Dateien mit unter auch mal einige Zeit.
Dieses Script habe ich damals auf Grundlage eines Debian Servers geschrieben, auf dem sowohl PHP in einer Version von 4.x als auch Curl vorinstalliert waren.
Den Debian-Server habe ich inzwischen leider nicht mehr.
Jetzt habe ich vor einiger Zeit das Script mal wieder herausgekramt und es auf Windows portiert, um es auf dem heimischen Rechner laufen zu lassen.
Mein Problem dabei ist jetzt mehr oder weniger ein Schönheitsfehler.
Früher war es so, dass bei einem Aufruf von Curl durch shell_exec im php-Script, auf der Kommandozeile dann eine Ausgabe (seitens Curl) bekam, welche den Fortschritt wie einige Übertragungsinfos lieferte. Die sehen in etwa so aus:

Code:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 10 1085k    10  112k   0 0      57923  0      0:00:19  0:00:01  0:00:18 60649

Einzig und allein für das ganze habe ich PHP 5.2.3 auf meinem Windows Rechner installiert. Und das php-Script ausgeführt. Funktioniert auch alles, bis auf diese Ausgabe. Die erscheint nicht mehr. Dazu sei vielleicht noch gesagt, dass sich dieses Ausgabe von Übertragungsinformationen für jeden Curl-Aufruf konstant an einer Stelle befinden und dort für diesen einen Aufruf nurnoch aktualisiert werden. Es erscheinen nurnoch die Sachen, welche ich per echo oder print oder ähnlichem mit PHP ausgebe. An Curl kanns kaum liegen.
Denn wenn man Curl selber aufruft und die Ausgabe umleitet
Bsp:
Code:
C:\curl -parameter -parameter -parameter -parameter -parameter... > text.txt
wird der Fortschritt auf der Kommandozeile angezeigt.
Die scheint immer auf STDERROR oder STDIN geschrieben zu werden. Und taucht auch nur auf, wenn man STDOUT umleitet. Was bei dem php-Script ja nun der Fall ist. Denke ich ;)
Der Aufruf in meinem php-Script sieht so aus:
PHP:
$ausgabe = shell_exec("curl parameter -parameter -parameter -parameter -parameter...");
Ich habe in der php.ini schon nach einer entsprechenden Einstellung gesucht, ein paar Dinge wie display_errors auf On gestellt. Hat nichts gebracht.
Auch Google und Forensuche waren mir nicht gnädig.

Deshalb wär jetzt meine Frage: Wenn man via shell_exec oder einer anderen exec Funktion in PHP externe Programme aufruft und diese neben STOUT noch andere Ausgaben haben: Wie kann man PHP dazu bringen diese anzuzeigen? Es muss irgendwie funktionieren, denn es hat ja schon funktioniert. Ich weiss nur nicht: Wieso, Weshalb und Warum ;)

Hilfe

Es freut sich auf Antworten

euer b
 
Zuletzt bearbeitet:
Zurück