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 相关文章推荐
攻克CakePHP系列二 表单数据显示
Oct 22 PHP
php中几种常见安全设置详解
Apr 06 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
Zend Framework动作助手Url用法详解
Mar 05 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
php使用正则验证中文
Apr 06 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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操作文件方法问答
2007/03/16 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python实现注册登录系统
2017/08/08 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
政协调研汇报材料
2014/08/15 职场文书
村班子对照检查材料
2014/08/18 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
财务工作失职检讨书
2014/11/21 职场文书
篮球赛新闻稿
2015/07/17 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
JavaScript继承的三种方法实例
2021/05/12 Javascript
分享3个非常实用的 Python 模块
2022/03/03 Python