Heim > Backend-Entwicklung > PHP-Tutorial > Zusammenfassung häufig verwendeter Funktionen zum Ausführen von Linux-Befehlen in PHP

Zusammenfassung häufig verwendeter Funktionen zum Ausführen von Linux-Befehlen in PHP

高洛峰
Freigeben: 2023-03-03 19:22:01
Original
1604 Leute haben es durchsucht

Unter normalen Umständen wird PHP selten zum Ausführen von Linux-Befehlen verwendet, aber unter besonderen Umständen können Sie diese Funktionen verwenden. Früher wusste ich, dass es zwei Funktionen gibt, die Linux-Befehle ausführen können, eine ist exec und die andere ist shell_exec. In diesem Artikel werde ich Ihnen eine Zusammenfassung gängiger Funktionen zum Ausführen von Linux-Befehlen in PHP vorstellen beziehen Sie sich darauf

Im Allgemeinen gibt es nur wenige. Sie werden PHP verwenden, um Linux-Befehle auszuführen, aber unter besonderen Umständen können Sie diese Funktionen verwenden. Früher wusste ich, dass es zwei Funktionen gibt, die Linux-Befehle ausführen können, eine ist exec und die andere ist shell_exec. Tatsächlich gibt es viele davon. Basierend auf dem Inhalt des Handbuchs werden die folgenden 6 Funktionen vorgestellt.

1, Exec-Funktion

<?php
$test = "ls /tmp/test"; //ls是linux下的查目录,文件的命令
exec($test,$array); //执行命令
print_r($array);
?>
Nach dem Login kopieren

gibt die folgenden Ergebnisse zurück:

[root@krlcgcms01 shell]# php ./exec.php
Array
(
[0] => 1001.log
[1] => 10.log
[2] => 10.tar.gz
[3] => aaa.tar.gz
[4] => mytest
[5] => test1101
[6] => test1102
[7] => weblog_2010_09
)
Nach dem Login kopieren

2, Systemfunktion

<?php
$test = "ls /tmp/test";
$last = system($test);
print "last: $last\n";
?>
Nach dem Login kopieren

gibt das Ergebnis zurück:

[root@krlcgcms01 shell]# php system.php
1001.log
10.log
10.tar.gz
aaa.tar.gz
mytest
test1101
test1102
weblog_2010_09
last:weblog_2010_09
Nach dem Login kopieren

3, Durchgangsfunktion

<?php
$test = "ls /tmp/test";
passthru($test);
?>
Nach dem Login kopieren

4, Popen-Funktion

<?php
$test = "ls /tmp/test";
$fp = popen($test,"r"); //popen打一个进程通道
 
while (!feof($fp)) { //从通道里面取得东西
$out = fgets($fp, 4096);
echo $out; //打印出来
}
pclose($fp);
?>
Nach dem Login kopieren

5, proc_open-Funktion

<?php
$test = "ls /tmp/test";
$array = array(
array("pipe","r"), //标准输入
array("pipe","w"), //标准输出内容
array("pipe","w") //标准输出错误
);
$fp = proc_open($test,$array,$pipes); //打开一个进程通道
echo stream_get_contents($pipes[1]); //为什么是$pipes[1],因为1是输出内容
proc_close($fp);
?>
Nach dem Login kopieren

6, Shell_exec-Funktion

<?php
$test = "ls /tmp/test";
$out = shell_exec($test);
echo $out;
?>
Nach dem Login kopieren

Popen, Passthru, Proc_Open, Shell_exec Rückgabeergebnisse sind wie folgt:

[root@krlcgcms01 shell]# php test.php
1001.log
10.log
10.tar.gz
aaa.tar.gz
mytest
test1101
test1102
weblog_2010_09
Nach dem Login kopieren

Ich kann nur diese Funktionen finden, die sein können ausgeführt Ich denke, es sollte mehr Befehle unter Linux geben. Jeder kann gerne hinzufügen.

Weitere Artikel zur Zusammenfassung häufig verwendeter PHP-Funktionen zum Ausführen von Linux-Befehlen finden Sie auf der chinesischen PHP-Website!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage