Wie man Shell-Befehle über PHP ausführt

In diesem Beitrag wird beschrieben, wie man Shell-Befehle über PHP ausführt. Anstatt also manuell einen Befehl in Linux einzugeben, um die Ordnerstruktur zu durchsuchen, tun Sie dies programmatisch über PHP. Die Möglichkeit, Shell-Befehle über PHP auszuführen, ist eine mächtige Funktion und sollte mit Bedacht eingesetzt werden. Nicht alle Hosting-Provider erlauben die Ausführung von Shell-Befehlen über PHP.

Die PHP-Funktionen zur Ausführung von Shell-Befehlen sind: shell_exec(), exec() oder system().

Diese Funktionen sind sich sehr ähnlich, haben aber leichte Unterschiede:

  • shell_exec() gibt die komplette Ausgabe als String zurück. Die Zeichenkette kann NULL sein, wenn ein Fehler auftritt oder wenn der Befehl keine Ausgabe erzeugt.
  • exec() gibt die letzte Zeile des ausgeführten Befehls als Zeichenkette zurück. HINWEIS: Verwenden Sie exec(), wenn Sie Zugriff auf den Programm-Exit benötigen. shell_exec() liefert keine Informationen über den Programm-Exit-Code.
  • system() ist ähnlich wie shell_exec(), gibt aber die Ausgabe direkt aus (ohne echo() oder print() zu verwenden).

shell_exec() & exec() Beispiel:

Beide dieser Shell-Funktionen funktionieren auf die gleiche Weise. Beachten Sie die zuvor genannten Unterschiede.

<?echo shell_exec("ls / -ltr");?>

Ergebnis:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

Die Antwort enthält \n Zeilenumbrüche. Verwenden Sie str_replace(„\n“, „<BR>“, shell_exec(„ls / -ltr“)), um Zeilenumbrüche durch HTML-freundliche BRs zu ersetzen.

Beispiel:

total 2097248drwxr-xr-x 2 root root 4096 Apr 26 19:07 optdrwxr-xr-x 2 root root 4096 Apr 26 19:07 mediadrwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64

system() Beispiel:

Die Funktion system() wird auch verwendet, um Shell-Befehle über PHP auszuführen.

<?system("ls / -ltr");?>

Ergebnis:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

Besuchen Sie https://anto.online für weitere Beiträge über PHP!

Über die Autoren

Jedes Mitglied des Anto-Redaktionsteams ist ein Cloud-Experte auf seinem Gebiet. Anto Online ist sehr stolz darauf, anderen Cloud-Enthusiasten zu helfen. Lassen Sie es uns wissen, wenn Sie eine hervorragende Idee für das nächste Thema haben!

Unterstützen Sie die Sache

Unterstützen Sie Anto Online und kaufen Sie uns einen Kaffee. Mit Kaffee und Code ist alles möglich.

Kauf mir einen Kaffee

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.