shell脚本--php执⾏普通shell命令
这⾥只演⽰⼀些普通的shell命令,⼀些需要root⽤户权限执⾏的命令,请参考:
php执⾏shell命令,可以使⽤下⾯⼏个函数:
string system ( string $command [, int &$return_var ] )
string exec ( string $command [, array &$output [, int &$return_var ]] )
void passthru ( string $command [, int &$return_var ] )
注意的是:这三个函数在默认的情况下,都是被禁⽌了的,如果要使⽤这⼏个函数,就要先修改php的配置⽂件php.ini,查关键字disable_functions,将这⼀项中的这⼏个函数名删除掉,然后注意重启apache。
⾸先看⼀下system()和passthru()两个功能类似,可以互换:
<?php
$shell = "ls -la";
echo "<pre>";
system($shell, $status);
echo "</pre>";
//注意shell命令的执⾏结果和执⾏返回的状态值的对应关系
$shell = "<font color='red'>$shell</font>";
if( $status ){
echo "shell命令{$shell}执⾏失败";
} else {
echo "shell命令{$shell}成功执⾏";
}
?>
执⾏结果如下:shell脚本返回执行结果
注意,system()会将shell命令执⾏之后,⽴马显⽰结果,这⼀点会⽐较不⽅便,因为我们有时候不需要结果⽴马输出,甚⾄不需要输出,于是可以⽤到exec()
exec()的使⽤⽰例:
<?php
$shell = "ls -la";
exec($shell, $result, $status);
$shell = "<font color='red'>$shell</font>";
echo "<pre>";
if( $status ){
echo "shell命令{$shell}执⾏失败";
} else {
echo "shell命令{$shell}成功执⾏, 结果如下<hr>";
print_r( $result );
}
echo "</pre>";
?>
运⾏结果如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论