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学习之PHP运算符
Oct 09 PHP
PHP 加密与解密的斗争
Apr 17 PHP
PHP 替换模板变量实现步骤
Aug 24 PHP
php 输出双引号&quot;与单引号'的方法
May 09 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
php实现TCP端口检测的方法
Apr 01 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
Laravel框架实现多个视图共享相同数据的方法详解
Jul 09 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
JQuery从头学起第三讲
2010/07/06 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
Python验证企业工商注册码
2015/10/25 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
Python实现仿射密码的思路详解
2020/04/23 Python
python实现视频压缩功能
2020/12/18 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
波兰珠宝品牌:YES
2019/08/09 全球购物
创业资金计划书
2014/02/06 职场文书
师范生自我鉴定
2014/03/20 职场文书
房产买卖委托公证书
2014/04/04 职场文书
供用电专业求职信
2014/07/07 职场文书
实验心得体会
2014/09/05 职场文书
商家认证委托书格式
2014/10/16 职场文书
初三语文教学计划
2015/01/22 职场文书
教师年度个人总结
2015/02/11 职场文书
通讯稿格式及范文
2015/07/22 职场文书
谢师宴家长致辞
2015/07/27 职场文书
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL