Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Verwendung der externen PHP-Befehlsausführungsfunktion

Zusammenfassung der Verwendung der externen PHP-Befehlsausführungsfunktion

墨辰丷
墨辰丷Original
2018-06-01 10:07:551371Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn