溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在PHP中執(zhí)行l(wèi)inux命令

發(fā)布時(shí)間:2021-03-15 15:52:02 來(lái)源:億速云 閱讀:213 作者:Leah 欄目:開發(fā)技術(shù)

怎么在PHP中執(zhí)行l(wèi)inux命令?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

1,exec函數(shù)

<?php 
$test = "ls /tmp/test"; //ls是linux下的查目錄,文件的命令
exec($test,$array); //執(zhí)行命令
print_r($array);
?>

返回結(jié)果如下:

[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,system函數(shù)

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

返回結(jié)果:

[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,passthru函數(shù)

<?php 
$test = "ls /tmp/test";
passthru($test);
?>

4,popen函數(shù)

<?php 
$test = "ls /tmp/test";
$fp = popen($test,"r"); //popen打一個(gè)進(jìn)程通道

while (!feof($fp)) { //從通道里面取得東西
$out = fgets($fp, 4096);
echo $out; //打印出來(lái)
} 
pclose($fp);
?>

5,proc_open函數(shù)

<?php 
$test = "ls /tmp/test";
$array = array(
array("pipe","r"), //標(biāo)準(zhǔn)輸入 
array("pipe","w"), //標(biāo)準(zhǔn)輸出內(nèi)容 
array("pipe","w") //標(biāo)準(zhǔn)輸出錯(cuò)誤 
); 
$fp = proc_open($test,$array,$pipes); //打開一個(gè)進(jìn)程通道
echo stream_get_contents($pipes[1]); //為什么是$pipes[1],因?yàn)?是輸出內(nèi)容
proc_close($fp);
?>

6,shell_exec函數(shù)

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

popen,passthru,proc_open,shell_exec的返回結(jié)果如下:

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

關(guān)于怎么在PHP中執(zhí)行l(wèi)inux命令問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI