一、exec  ---执行外部程序

string exec ( string $command [, array &$output [, int &$return_var ]] )

$command   要执行的shell 命令

$output        shell命令的输出填充此数组,每行输出填充数组中的一个元素。 请注意,如果数组中已经包含了部分元素,exec() 函数会在数组末尾追加内容。如果你不想在数组末尾进行追                       加,请在传入 exec() 函数之前 对数组使用 unset() 函数进行重置。

$return_var  命令执行后的返回状态,命令执行成功值是0

返回值         shell命令输出的最后一行

ps:   2>&1  exec不成功,调试方案一个技巧就是使用管道命令, 使用 2>&1, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。

例子1

(1)代码所在的index.php 文件的结构

  

(2)代码

$out = [34];
$res = exec('ls 2>&1',$out,$return_status);
var_dump($res);
echo '------';
var_dump($out);
echo '------';
var_dump($return_status);

(3)执行结果

zhangxueqing:demo playcrab$ php  ./1/index.php
/Users/playcrab/www/demo/1/index.php:10:
string(11) "webuploader"
------/Users/playcrab/www/demo/1/index.php:12:
array(10) {[0] =>int(34)[1] =>string(1) "1"[2] =>string(6) "1.html"[3] =>string(5) "1.php"[4] =>string(10) "client.php"[5] =>string(14) "design-pattern"[6] =>string(3) "img"[7] =>string(17) "jquery.blockUI.js"[8] =>string(10) "static.php"[9] =>string(11) "webuploader"
}
------/Users/playcrab/www/demo/1/index.php:14:
int(0)

 二、system ---执行外部程序,并且显示输出

1 string system ( string $command [, int &$return_var ] )

$command  要执行的命令

$return_var  命令执行后的返回状态,值是0表示成功

1.示例代码

$res = system('ls 2>&1',$return_status);
var_dump($res);
echo '------';
var_dump($return_status);

2.输出结果

    

转载于:https://www.cnblogs.com/zxqblogrecord/p/9755984.html

php system()和exec()差别相关推荐

  1. docker Cannot start container [8] System error: exec format error

    docker Cannot start container  [8] System error: exec format error 学习了:https://www.aliyun.com/jiaoch ...

  2. php system 执行失败,PHP 执行 system、exec 等函数发生错误

    2012-12-06 20:45 1932人阅读 评论(0) 往往在调用system.exec 等函数时,要么没有反应,要么出错: 原因很多,以下是抄别人的: ==================== ...

  3. 关于perl中的反勾号(``),system和exec

    关于perl中的反勾号(``),system和exec 在perl中反勾号(``),system和exec都用来执行命令,这篇文章将给我们介绍它们各自的使用方法,联系,以及区别. 一.使用方法 1.  ...

  4. perl中的反勾号(``),system和exec

    在perl中反勾号(``),system和exec都用来执行命令,这篇文章将给我们介绍它们各自的使用方法,联系,以及区别. 一.使用方法 1.       反勾号(``) 首先,我们有命令输入操作符, ...

  5. PHP执行系统命令的4个方法 : system , shell_exec , exec , passthru

    通过执行系统命令,我们可以调用系统的一些功能,甚至能与其他语言进行交互. 1 system() : system - 执行外部程序(命令行),并且显示输出 这个函数会将结果直接进行输出 (注意:是直接 ...

  6. PHP 执行系统外部命令 system() exec() passthru()

    PHP中调用外部命令,可以用如下三种方法来实现: 方法一:用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shel ...

  7. system函数与exec函数

    文章目录 system函数与exec函数 system函数 exec系列函数 system函数与exec函数 启动另一个新的进程 system函数   >> system函数的原型: #i ...

  8. Perl进程——exec system qx//

    在perl中启动子进程执行外部程序有多种方式,主要有exec system qx//,qx//也就是通常说的反引号``.这几种方式有或多或少的区别. 本文想从是否返回进程 返回值是什么 什么时候返回 ...

  9. Linux exec与重定向

    exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两 ...

最新文章

  1. 输入 n 个整数,输出其中最小的 k 个
  2. MySQL Explain详解,分析语句为何运行慢
  3. 中小企业利用VRRP实现链路负载均衡
  4. PostgreSQL Oracle 兼容性之 - INDEX SKIP SCAN (递归查询变态优化) 非驱动列索引扫描优化...
  5. Linux下生成动态链接库是否必须使用 -fPIC 的问题
  6. Android 编辑中的快捷键
  7. 云图说 | 云上资源管控有神器!关于IAM,你想知道的都在这里!
  8. 鸿蒙将至,安卓安否?
  9. 什么是软件开发的核心问题
  10. JavaScript页面跳转常用代码(转)
  11. Java .class 反编译 Luyten,导出 .java文件,查看jar 包目录,超级简单,实用
  12. 数据结构-二叉树(求二叉树叶子节点数的递归和非递归算法)
  13. css样式,鼠标移动上去变成禁用、小手等样式。
  14. 搭建亿万级别短信服务发送平台
  15. 使用java爬取国家统计局的12位行政区划代码
  16. 家门口的微醺“buff”——酒分之一开启社区酒吧式便利店次元
  17. 在 UltraEdit 或 UEStudio 中执行 DOS 或 Windows 命令
  18. Steam账号被盗后,账号找回,PUBG解封经验分享
  19. UML协作图(通信图)——软件需求分析与设计
  20. 【基于Html+CSS+JS的canvas赛车小游戏(效果+源码)】

热门文章

  1. 2013年第四届蓝桥杯C/C++ A组国赛 —— 第三题:埃及分数
  2. Python3学习笔记(一)简介 、 安装 、 解释器
  3. 【机器视觉】 dev_display算子
  4. 【机器视觉】 global算子
  5. 【Tools】MarkDown教程(七)-Typora详细教程
  6. 【C++】 C++标准模板库(十) 双向队列
  7. 【Linux网络编程】多播、组播
  8. git branch 为什么会进入编辑状态_Git很难,搞砸很容易,好在有神奇命令让时光倒流...
  9. javascript经典实例_JavaScript 经典实例收集整理
  10. javaWeb项目 IDEA中导入eclipes项目的方法。maven多模块项目(父子模块)与普通的web项目导入