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
PHP学习之数组的定义和填充
Apr 17 PHP
PHP里的中文变量说明
Jul 23 PHP
浅析is_writable的php实现
Jun 18 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
php运行时动态创建函数的方法
Mar 16 PHP
php获取Google机器人访问足迹的方法
Apr 15 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
PHP实现PDO操作mysql存储过程示例
Feb 13 PHP
在laravel框架中使用model层的方法
Oct 08 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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
Python中列表(list)操作方法汇总
2014/08/18 Python
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
python使用urlparse分析网址中域名的方法
2015/04/15 Python
Python fileinput模块使用实例
2015/06/03 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
python中int与str互转方法
2018/07/02 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
python如何统计代码运行的时长
2019/07/24 Python
基于python监控程序是否关闭
2020/01/14 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
夏季药店促销方案
2014/08/22 职场文书
委托书怎样写
2014/08/30 职场文书
实习生工作证明范本
2014/09/14 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
浅谈JS的原型和原型链
2021/06/04 Javascript