[linux-l] Webanwendungen per Kommandozeile ansteuern

Volker Grabsch vog at notjusthosting.com
Mi Dez 7 02:37:10 CET 2005


On Sun, Dec 04, 2005 at 08:36:41PM +0100, olafBuddenhagen at gmx.net wrote:
> > Außerdem finde ich es gar nicht gut, wie das in Shell-Scripten und
> > auch PHP-Scripten allgemein läuft: Statt z.B. in PHP ne Funktion zu
> > haben, die mehrere Argumente entgegen nimmt, einen für das Programm
> > und die anderen für die Parameter (wie die exec*()-Funktionen in C),
> > ruft man das Zeug im Stile einer Kommandozeile auf, und muss alle
> > kritischen Leerzeichen etc. erstmal durch Escaping-Funktionen jagen.
> 
> In PHP gibt es beide Varianten (siehe pcntl_exec()), ebenso wie es in C
> beide Varianten gibt (siehe system()).

Danke für den Tipp. Das habe ich damals nicht gefunden, als ich es
mal suchte. Ich habe natürlich intuitiv nach "exec" gesucht, und
festgestellt, dass das "exec" von PHP im Wesentlichen doch nur eine
Shell ist.

Das Problem mit pcntl_exec ist, dass es den aktuellen Prozess ersetzt,
statt einen Sub-Prozess zu starten. Also muss eine fork+wait_pid+exec
Lösung her, wieso gibt's dafür keinen eigenen Befehl? Am besten einen,
der die Ausgabe gleich für einen aufbereitet.

Also vom Verhalten her wie PHPs exec()- und system()-Befehl, nur eben
mit expliziten Parametern statt Kommandozeilen-Stil mit extra Escaping.
Hat da PHP was zu bieten?


Viele Grüße,

	Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l