Heim > Artikel > Backend-Entwicklung > Analyse des Unterschieds zwischen Exec- und Systemnutzung in PHP
system()
Prototyp: string system (string command [, int return_var])
Die Funktion system() ähnelt der in anderen Sprachen. Sie führt den angegebenen Befehl aus, gibt das Ergebnis aus und gibt es zurück. Der zweite Parameter ist optional und wird verwendet, um den Statuscode nach der Ausführung des Befehls abzurufen.
Ergebnisse zurückgeben:
Gibt 0 erfolgreich zurück,
Fehler (Befehl existiert nicht usw.) Gibt einen Wert ungleich Null zurück
exec()
Prototyp: string exec (string command [, string array [, int return_var]])
Die Funktion exec() ähnelt system(). Sie führt ebenfalls den angegebenen Befehl aus, gibt jedoch nicht das Ergebnis aus, sondern gibt die letzte Zeile des Ergebnisses zurück. Obwohl nur die letzte Zeile des Befehlsergebnisses zurückgegeben wird, kann mit dem zweiten Parameter-Array das vollständige Ergebnis erhalten werden, indem die Ergebnisse Zeile für Zeile an das Ende des Arrays angehängt werden. Wenn das Array also nicht leer ist, ist es am besten, es vor dem Aufruf mit unset() zu löschen. Nur wenn der zweite Parameter angegeben ist, kann der dritte Parameter verwendet werden, um den Statuscode der Befehlsausführung zu erhalten.
Verwendungsbeispiele sind wie folgt:
exec("/bin/ls -l");
exec("/bin/ls -l", $res);
exec("/bin /ls -l", $res, $rc);