passthru
(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — Führt ein externes Programm aus und zeigt dessen Ausgabe an
Beschreibung
$command
, int &$result_code
= null
): ?bool
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 Sie den Content-Type auf
image/gif
setzen und dann das pbmplus-Programm aufrufen,
um ein GIF zu erzeugen, können Sie auf diesem Weg mittels PHP direkt ein
Bild erzeugen und ausgeben.
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.
Anmerkungen
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
- exec() - Führt ein externes Programm aus
- system() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
- popen() - Öffnet einen Dateizeiger für einen Prozess
- escapeshellcmd() - Maskiert Metazeichen der Shell
- Backtick-Operator