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 相关文章推荐
php cli 方式 在crotab中运行解决
Feb 08 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
PHP可变函数的使用详解
Jun 14 PHP
PHP使用SOAP调用.net的WebService数据
Nov 12 PHP
cakephp打印sql语句的方法
Feb 13 PHP
PHP+Ajax实时自动检测是否联网的方法
Jul 01 PHP
浅谈php的优缺点
Jul 14 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP之图片上传类实例代码(加了缩略图)
Jun 30 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 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
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
vue2.0与bootstrap3实现列表分页效果
2017/11/28 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
python中去空格函数的用法
2014/08/21 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
解决python 上传图片限制格式问题
2019/10/30 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
2014年自我评价
2014/01/04 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
蓝颜请假条
2014/04/11 职场文书
人事经理岗位职责
2014/04/28 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
男生贾里读书笔记
2015/06/30 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书