passthru

(PHP 4, PHP 5, PHP 7, PHP 8)

passthruFührt ein externes Programm aus und zeigt dessen Ausgabe an

Beschreibung

passthru(string$command, int&$result_code = null): ?false

Die Funktion passthru() ähnelt der Funktion exec(), da sie ebenfalls ein command ausführt. Diese Funktion sollte anstelle von exec() bzw. system() verwendet werden, wenn die Ausgabe des Unix-Befehls binäre Daten erzeugt, die direkt an den Browser zurückgegeben werden sollen. Ein praktisches Beispiel hierfür ist die Ausführung eines Programms wie pbmplus, welches einen Bildstream direkt ausgibt. Wenn der Content-Type auf image/gif gesetzt wird und dann das pbmplus-Programm aufgerufen wird, um ein GIF zu erzeugen, kann auf diesem Weg mittels PHP direkt ein Bild erzeugt und ausgegeben werden.

Parameter-Liste

command

Der auszuführende Befehl.

result_code

Ist der Parameter result_code angegeben, wird der Rückgabestatus des UNIX-Befehls hier abgelegt.

Rückgabewerte

Gibt bei Erfolg null zurück. Bei einem Fehler wird false zurückgegeben.

Fehler/Exceptions

Wenn passthru() den Befehl command nicht ausführen kann, wird eine Meldung der Stufe E_WARNING ausgegeben.

Löst einen ValueError aus, wenn command leer ist oder Nullbytes enthält.

Changelog

VersionBeschreibung
8.0.0 Wenn command leer ist oder Nullbytes enthält, löst passthru() nun einen ValueError aus. Zuvor gab die Funktion ein E_WARNING aus und gab false zurück.

Anmerkungen

Warnung

Falls Sie es erlauben, dass Daten von Usereingaben an diese Funktion weitergereicht werden, sollten Sie escapeshellarg() oder escapeshellcmd() verwenden. Bei Verwendung dieser Funktionen stellen Sie sicher, dass kein Benutzer Ihr System überlisten kann, beliebige Kommandos auszuführen

Hinweis:

Wenn ein Programm mit dieser Funktion gestartet wird und im Hintergrund weiterlaufen soll, muss die Ausgabe des Programms in eine Datei oder einen anderen Ausgabestrom umgeleitet werden. Anderenfalls bleibt PHP solange hängen, bis das Programm zu Ende ausgeführt wurde.

Siehe auch

To Top