Funktionsname: Shell_exec ()
Anwendbare Version: Php 4, Php 5, Php 7
Funktion Beschreibung: Die Funktion Shell_exec () führt den angegebenen Shell -Befehl aus und gibt die Ausgabe des Befehls als Zeichenfolge zurück. Im Gegensatz zur Funktion exec () gibt die Funktion Shell_exec () das vollständige Ergebnis der Befehlsausgabe zurück, nicht nur die letzte Zeile.
Syntax: Shell_exec (String $ CMD): String | NULL
Parameter:
- $ cmd: Erforderlich, Shell -Befehl, die ausgeführt werden soll.
Rückgabewert:
- Wenn der Befehl erfolgreich ausgeführt wird, wird die Ausgabe des String -Ergebniss durch den Befehl zurückgegeben.
- Wenn der Befehl nicht ausgeführt wird oder die Funktion deaktiviert ist, wird NULL zurückgegeben.
Beispiel 1:
$output = shell_exec('ls -l'); echo "<pre>$output</pre>";
Das obige Beispiel führt den Befehl "ls -l" aus und weist das Ergebnis der $ Ausgangsvariablen zu. Verwenden Sie dann das <pre>
-Tag, um das Ergebnis wie für den Browser auszugeben.
Beispiel 2:
$output = shell_exec('php -v'); echo "<pre>$output</pre>";
Im obigen Beispiel wird der Befehl "PHP -v" ausgeführt, die PHP -Versionsinformationen angezeigt und das Ergebnis der $ Ausgangsvariablen zugewiesen. Verwenden Sie dann das <pre>
-Tag, um das Ergebnis wie für den Browser auszugeben.
Anmerkungen:
- Die Funktion Shell_exec () hängt von der Verfügbarkeit des Betriebssystems bei der Ausführung von Shell -Befehlen ab, sodass auf verschiedenen Betriebssystemen unterschiedliche Ergebnisse auftreten können.
- Aus Sicherheitsgründen sollte die Funktion Shell_exec () mit Vorsicht verwendet werden und nur vertrauenswürdige Befehle dürfen ausgeführt werden.
- Bei Verwendung der Funktion Shell_exec () müssen Sie sicherstellen, dass die Funktion in der PHP -Konfigurationsdatei nicht deaktiviert ist (DISABLE_FUNKTION -Konfigurationselement).
- In einigen Fällen kann es erforderlich sein, einen absoluten Pfad zu verwenden, um Befehle wie '/usr/bin/ls' auszuführen.
- Wenn für den Befehl Benutzereingaben erforderlich ist, verwenden Sie andere Funktionen (z. B. exec () oder pthru ()), da die Funktion Shell_exec () die Interaktion mit dem Shell -Prozess nicht unterstützt.