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


Posted in PHP onAugust 24, 2020

这里演示一些普通的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>";
  system($shell, $status);
  echo "</pre>";
  //注意shell命令的执行结果和执行返回的状态值的对应关系
  $shell = "<font color='red'>$shell</font>";
  if( $status ){
    echo "shell命令{$shell}执行失败";
  } else {
    echo "shell命令{$shell}成功执行";
  }
?>

执行结果如下:

PHP执行普通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>";
?>

运行结果如下:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
基于mysql的bbs设计(一)
Oct 09 PHP
IStream与TStream之间的相互转换
Aug 01 PHP
php 魔术函数使用说明
Feb 21 PHP
php ftp文件上传函数(基础版)
Jun 03 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
PHP加密解密函数详解
Oct 28 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
php中分页及SqlHelper类用法实例
Jan 12 PHP
利用PHP获取汉字首字母并且分组排序详解
Oct 22 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 #PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
Aug 24 #PHP
WordPress免插件实现面包屑导航的示例代码
Aug 20 #PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 #PHP
Laravel相关的一些故障解决
Aug 19 #PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 #PHP
php提高脚本性能的4个技巧
Aug 18 #PHP
You might like
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
PHP采集利器 Snoopy 试用心得
2011/07/03 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
PDO::quote讲解
2019/01/29 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
学习ExtJS border布局
2009/10/08 Javascript
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
2020/02/14 Javascript
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Pandas统计重复的列里面的值方法
2019/01/30 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
Hotels.com南非:酒店预订
2017/11/02 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
房地产广告词大全
2014/03/19 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
明星邀请函
2015/02/02 职场文书
个人年终总结范文
2015/03/09 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书