Heim > Artikel > Backend-Entwicklung > Zusammenfassung häufig verwendeter Funktionen zum Ausführen von Linux-Befehlen in PHP
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); ?>
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 )
2, Systemfunktion
<?php $test = "ls /tmp/test"; $last = system($test); print "last: $last\n"; ?>
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
3, Durchgangsfunktion
<?php $test = "ls /tmp/test"; passthru($test); ?>
4, Popen-Funktion
<?php $test = "ls /tmp/test"; $fp = popen($test,"r"); //popen打一个进程通道 while (!feof($fp)) { //从通道里面取得东西 $out = fgets($fp, 4096); echo $out; //打印出来 } pclose($fp); ?>
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); ?>
6, Shell_exec-Funktion
<?php $test = "ls /tmp/test"; $out = shell_exec($test); echo $out; ?>
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
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!