In diesem Artikel wird hauptsächlich die Verwendung der externen Befehlsausführungsfunktion von PHP vorgestellt und die damit verbundenen Verwendungsfähigkeiten von exec und system zur Ausführung externer Befehle anhand von Beispielen analysiert.
Die Beispiele dieses Artikels beschreiben die Verwendung externer PHP-Befehle. Ich teile es Ihnen als Referenz mit:
Zunächst muss ich mich selbst überprüfen und PHP verwenden, und das schon Ich habe fast ein Jahr lang das Linux-System studiert und verwendet. Eigentlich wusste ich nicht, dass eine interpretierte Sprache wie PHP Betriebsbefehle direkt aufrufen kann, um das System zu steuern ...
Lassen Sie uns zunächst die Linux-Operationen zusammenfassen Erwähnen Sie häufig verwendete CDs, CPs, MVs, RMs usw. Der erste Teil ist eine Zusammenfassung: Ein Punkt ist, dass normale Benutzer vor dem Befehl sudo hinzufügen müssen, wenn sie Root-Berechtigungen extrahieren, und dann den Befehl zum Ausgeben der Zeilennummer Der viEditor lautet: set nu.
phps integrierte Funktionen exec und system können Systembefehle (Shell-Befehle) aufrufen. Wenn Sie diese beiden Funktionen jedoch verwenden möchten, ist der abgesicherte Modus in php.ini erforderlich muss ausgeschaltet sein, da PHP sonst aus Sicherheitsgründen den Aufruf von Systembefehlen nicht zulässt.
Schauen Sie sich zunächst die Erklärung dieser beiden Funktionen im php-Handbuch an:
1. exec --- Externe Programme ausführen
Syntax: string exec ( string command [, array &output [, int &return_var]] )
Erklärung:
exec ( ) Ausführung Der angegebene Befehl ist ein Befehl, gibt jedoch nichts aus. Er gibt lediglich die letzte Zeile des Befehlsergebnisses zurück. Wenn Sie einen Befehl ausführen und alle Informationen aus dem Befehl abrufen müssen, können Sie passhru( verwenden. ).
Wenn das Parameterarray angegeben ist, wird das angegebene Array mit jeder vom Befehl ausgegebenen Zeile gefüllt. Hinweis: Wenn das Array bereits einige Elemente enthält, wird exec() diese später an das Array anhängen Wenn Sie nicht möchten, dass diese Funktion Elemente anhängt, können Sie unset() aufrufen, bevor Sie das Array an exec() übergeben.
2. System --- Externes Programm ausführen und Ausgabe anzeigen
Syntax: String-System ( String-Befehl [, int &return_var] )
Erklärung:
system() führt den angegebenen Befehl aus und gibt das Ergebnis aus. Wenn der Parameter return_var angegeben ist, wird der Statuscode des ausgeführten Befehls in diese Variable geschrieben.
Wenn PHP als Servermodul ausgeführt wird, versucht system(), den Ausgabepuffer des Webservers nach der Ausgabe jeder Zeile automatisch zu löschen. Gibt bei Erfolg die letzte Zeile des Befehls zurück, bei Fehler false.
Wenn Sie einen Befehl ausführen und alle Daten aus dem Befehl abrufen müssen, können Sie die Funktion passhru() verwenden.
Beide werden zum Aufrufen von System-Shell-Befehlen verwendet
Der Unterschied ist:
exec kann alle Ausführungsergebnisse an $output zurückgeben Funktion (Array), 0 ist der Status der Ausführung und 1 ist der Fehler.
systerm muss die Funktion $output nicht direkt zurückgeben Statuscode der Ausführung. 0 ist ein Fehler. 1 bedeutet ein Fehler
Das Folgende ist der zitierte Inhalt:Das obige ist der detaillierte Inhalt vonZusammenfassung des Codebeispiels für die Verwendung einer externen PHP-Befehlsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!