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
Zuerst Vor allem müssen Sie sich selbst prüfen. Ja, ich habe PHP seit mehr als einem Jahr studiert und verwendet, und ich habe das Linux-System seit fast einem Jahr studiert und verwendet. Ich wusste nicht, dass eine interpretierte Sprache wie PHP dies kann Rufen Sie Betriebsbefehle direkt auf, um das System zu steuern ...
Fassen wir zunächst die häufig verwendeten Linux-Operationen zusammen Zusammenfassend lässt sich sagen, dass normale Benutzer vor dem Befehl beim Extrahieren von Root-Berechtigungen sudo eingeben müssen. Anschließend lautet der Befehl zum Ausgeben der Zeilennummer im vi-Editor: set nu.
Die in PHP integrierten Funktionen exec und system können Systembefehle (Shell-Befehle) aufrufen. Wenn Sie diese beiden Funktionen verwenden möchten, muss jedoch der abgesicherte Modus in php.ini deaktiviert werden, da PHP sonst den Aufruf von nicht zulässt System aus Sicherheitsgründen befohlen.
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]] )
Beschreibung:
exec() führt den angegebenen Befehl aus Befehl, aber es wird nichts ausgegeben, es wird lediglich die letzte Zeile des Befehlsergebnisses zurückgegeben. Wenn Sie einen Befehl ausführen und alle Daten aus dem Befehl abrufen müssen, können Sie die Funktion passhru() verwenden.
Wenn das Parameter-Array 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 bedeutet Fehler.
exec-Beispiel:
Das Folgende ist der zitierte Inhalt:
<?php $a = exec("dir",$out,$status); print_r($a); print_r($out); print_r($status); ?>
Systembeispiel:
Das Folgende ist der zitierte Inhalt:
<?php $a = system("dir",$out); print_r($a); print_r($out); ?>
Zusammenfassung: Das Obige ist Ich hoffe, dass der gesamte Inhalt dieses Artikels allen beim Lernen hilft.
Verwandte Empfehlungen:
phpKapselungsformular-Validierungsklasse
PHP verwendet die preg_split-Funktion, um Teilen Sie den Inhalt in Zeilenumbrüche und Semikolons auf
Schreiben Sie ein PHP-Programm, um die folgenden Funktionen zu implementieren
Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung der externen PHP-Befehlsausführungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!