首页 > 后端开发 > php教程 > 一起看看PHP执行普通shell命令流程

一起看看PHP执行普通shell命令流程

coldplay.xixi
发布: 2023-04-09 14:22:01
转载
4341 人浏览过

一起看看PHP执行普通shell命令流程

【相关学习推荐:php图文教程

这里演示一些普通的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()两个功能类似,可以互换:

<?php
  $shell = "ls -la";
  echo "<pre class="brush:php;toolbar:false">";
  system($shell, $status);
  echo "
"; //注意shell命令的执行结果和执行返回的状态值的对应关系 $shell = "$shell"; if( $status ){ echo "shell命令{$shell}执行失败"; } else { echo "shell命令{$shell}成功执行"; } ?>
登录后复制

  执行结果如下:

  

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

    exec()的使用示例:

<?php
  $shell = "ls -la";
  exec($shell, $result, $status);
  $shell = "<font color=&#39;red&#39;>$shell</font>";
  echo "<pre class="brush:php;toolbar:false">";
  if( $status ){
    echo "shell命令{$shell}执行失败";
  } else {
    echo "shell命令{$shell}成功执行, 结果如下<hr>";
    print_r( $result );
  }
  echo "
"; ?>
登录后复制

  运行结果如下:

相关学习推荐:php编程(视频)

以上是一起看看PHP执行普通shell命令流程的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:jb51.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板