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

Zusammenfassung der Verwendung der externen PHP-Befehlsausführungsfunktion

高洛峰
高洛峰Original
2016-12-20 15:37:38946Durchsuche

Das Beispiel in diesem Artikel beschreibt die Verwendung der externen PHP-Ausführungsbefehlsfunktion. Ich teile es Ihnen als Referenz mit:

Zunächst muss ich mich selbst überprüfen und PHP verwenden, und zwar seit mehr als einem Jahr 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 vi-Editor lautet: 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 sein, 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]] )

Erklärung:

exec() führt den angegebenen Befehl command aus, gibt aber nichts aus, sondern einfach Die letzte Zeile wird im Ergebnis des Befehls 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 --- Externe Programme ausführen und Ausgabe anzeigen

Syntax: String-System ( String-Befehl [, int &return_var] )

Beschreibung:

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 die $output-Funktion (Array) $status zurückgeben ist der Status der Ausführung, 0 ist Erfolg, 1 ist Fehler

systerm muss die $output-Funktion nicht bereitstellen, es gibt das Ergebnis direkt zurück. Ebenso ist $return_var der Statuscode der Ausführung, 0 ist Erfolg , 1 ist ein 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:

der folgende zitierte Inhalt:

<?php
  $a = system("dir",$out);
  print_r($a);
  print_r($out);
   ?>

Ich hoffe, dieser Artikel wird für alle hilfreich sein, die sich mit PHP-Programmierung befassen.

Weitere Artikel zur Zusammenfassung der Verwendung von PHP-Befehlsfunktionen für die externe Ausführung finden Sie auf der chinesischen PHP-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