php操作shell
php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数。
- php页面
Bash
<?php
phpinfo();
?>
- system函数
system() 输出并返回最后一行shell结果。
Bash
<?php
$shell="ls";
system($shell);
?>
验证:
- exec函数
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
验证:
查看数组内的具体数据
执行普通命令
Bash
system('ifconfig');
#本身直接输出,返回的和 exec 一致只返回最后一行数据
返回数组结果
Bash
exec("awk -F: '{print $1,$3,$4,$6,$7}' /etc/passwd",$arr);
print_r($arr);
Bash
<?php
$shell="awk -F: '{print $1,$3,$4,$6,$7}' /etc/passwd";
exec($shell,$arr,$s);
echo '<pre>';
print_r($arr);
echo '</pre>';
?>
注:$s为查看状态,命令执行成功为0,执行不成功为127。
<pre></pre>是html标签,意思是按原样输出不做更改。