当前位置:首页 > PHP教程 > php应用 > 列表

PHP执行普通shell命令流程解析

发布:smiling 来源: PHP粉丝网  添加日期:2022-03-23 10:56:50 浏览: 评论:0 

这篇文章主要介绍了PHP执行普通shell命令流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这里演示一些普通的shell命令

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()两个功能类似,可以互换:

  1. <?php 
  2.   $shell = "ls -la"
  3.   echo "<pre>"
  4.   system($shell$status); 
  5.   echo "</pre>"
  6.   //注意shell命令的执行结果和执行返回的状态值的对应关系 
  7.   $shell = "<font color='red'>$shell</font>"
  8.   if$status ){ 
  9.     echo "shell命令{$shell}执行失败"
  10.   } else { 
  11.     echo "shell命令{$shell}成功执行"
  12.   } 
  13. ?> 

执行结果如下:

PHP执行普通shell命令流程解析

注意,system()会将shell命令执行之后,立马显示结果,这一点会比较不方便,因为我们有时候不需要结果立马输出,甚至不需要输出,于是可以用到exec()

exec()的使用示例:

  1. <?php 
  2.   $shell = "ls -la"
  3.   exec($shell$result$status); 
  4.   $shell = "<font color='red'>$shell</font>"
  5.   echo "<pre>"
  6.   if$status ){ 
  7.     echo "shell命令{$shell}执行失败"
  8.   } else { 
  9.     echo "shell命令{$shell}成功执行, 结果如下<hr>"
  10.     print_r( $result ); 
  11.   } 
  12.   echo "</pre>"
  13. ?> 

运行结果如下:

PHP执行普通shell命令流程解析

Tags: PHP执行shell命令

分享到: