PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP in der Konsole - Ausgabe eines externen Programms in den STDIN?


Gast
2007-07-16, 22:08:40
Ich habe erst unlängst erfahren, dass man PHP auch in der Konsole (ohne Webserver) verwenden kann. Nun möchte ich mit einem PHP Skript, welches in der Konsole läuft, ein anderes Command Line Tool ausführen und dessen Output analysieren.

Ich könnte natürlich das externe Programm mit exec() starten und mit > in eine Datei pipen, die ich danach wieder lade, allerdings finde ich die Lösung nicht wirklich elegant. Ist es nicht auch möglich den Output des externen Programms direkt in den Input Stream der PHP Anwendung zu leiten?

Beim Googlen bin ich lediglich auf Lösungen für Perl gestoßen.

Als OS habe ich im moment WindowsXP und PHP5.

Danke schonmal für die Hilfe!

Threadstarter
2007-07-16, 23:01:11
Ich habe jetzt was gefunden, dass ganz brauchbar aussieht: proc_open (http://at.php.net/proc_open)

Gibt es noch einfachere Alternativen?

Noch eine weitere Frage an die PHP Experten ^^:
Wie ist es möglich den PHP Interpreter so zu starten, dass er die $_GET und $_POST Variablen passend befüllt? Was muss ich ihm dazu wie übergeben?

Danke nochmal für die Hilfe

The_Invisible
2007-07-16, 23:57:37
naja, einfacher wäre popen() um die frage zu beantworten

zu letzterem weiß ich nicht was du meinst, willst du die $_GET/$_POST vars in der konsolenanwendung verwenden? für übergabeparameter verwendet man da das $_SERVER['argv'] array was die übergabeparameter enthält.

mfg

Threadstarter
2007-07-17, 12:09:30
naja, das mit den $_GET und $_POST Variablen ist mehr eine Spielerei. Mir geht es mehr oder weniger darum bereits bestehende Scripte aus Webanwendungen ebenfalls nutzen zu können.

Werden die Übergabeparameter (Querystring, Postvariablen, Cookiedaten ...) vom PHP Interpreter in ihre Einzelteile zerlegt oder macht das bereits der Webserver?