Funktionen zur Programmausführung
PHP Manual

exec

(PHP 4, PHP 5, PHP 7)

execFührt ein externes Programm aus

Beschreibung

string exec ( string $command [, array &$output [, int &$return_var ]] )

exec() führt einen angegebenen Befehl (command) aus.

Parameter-Liste

command

Der auszuführende Befehl

output

Ist der Parameter output angegeben, wird dieses mit jeder Zeile des Befehlsausgabe gefüllt. Am Ende einer jeweiligen Zeile stehende Whitespaces wie beispielsweise ein \n wird nicht in dieses Array übernommen. Beachten Sie, dass wenn das Array bereits Elemente enthält, die Funktion exec() die Ausgabe an das Array anhängt. Wenn Sie dieses nicht wünschen, rufen Sie die Funktion unset () für das Array auf, bevor Sie es als Parameter der Funktion exec() übergeben.

return_var

Ist der Parameter return_var zusammen mit dem Parameter output angegeben, so wird der Rückgabestatus des ausgeführten Befehls in diese Variable geschrieben.

Rückgabewerte

Die letzte Zeile der Ausgabe des Befehls. Wenn ein Befehl ausgeführt werden muss und alle Daten des Befehls direkt ohne Umweg über ein Array ausgegeben werden soll, kann die Funktion passthru() verwendet werden.

Um die Ausgabe des ausgeführten befehls zu erhalten muss sichergestellt werden, dass der Parameter output gesetzt und verwendet wird.

Beispiele

Beispiel #1 Ein exec()-Beispiel

<?php
// Gibt den Benutzernamen aus, unter dem der PHP/HTTPD-Prozess läuft
// (auf einem System in dem das Programm "whoami" im Ausführungspfad liegt)
echo exec('whoami');
?>

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:

Falls Sie diese Funktion benutzen, um ein Programm zu starten und im Hintergrund weiterlaufen lassen möchten, müssen Sie sicherstellen, dass die Ausgabe des Programms in eine Datei oder einen anderen Ausgabestream umgeleitet wird. Anderenfalls wird PHP solange hängen, bis das Programm zu Ende ausgeführt wurde.

Hinweis: Mit aktiviertem Safe Mode können Sie nur Programme ausführen, die im Verzeichnis liegen, das mit safe_mode_exec_dir angegeben wurde. Aus praktischen Gründen ist es gegenwärtig nicht erlaubt, dass der Pfad zu einem Programm .. enthält.

Warnung

Mit aktiviertem Safe Mode wird der Kommandostring mit escapeshellcmd() kodiert. Deshalb wird echo y | echo x zu echo y \| echo x.

Siehe auch


Funktionen zur Programmausführung
PHP Manual