php system()和exec()差别
一、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()差别相关推荐
- 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 ...
- php system 执行失败,PHP 执行 system、exec 等函数发生错误
2012-12-06 20:45 1932人阅读 评论(0) 往往在调用system.exec 等函数时,要么没有反应,要么出错: 原因很多,以下是抄别人的: ==================== ...
- 关于perl中的反勾号(``),system和exec
关于perl中的反勾号(``),system和exec 在perl中反勾号(``),system和exec都用来执行命令,这篇文章将给我们介绍它们各自的使用方法,联系,以及区别. 一.使用方法 1. ...
- perl中的反勾号(``),system和exec
在perl中反勾号(``),system和exec都用来执行命令,这篇文章将给我们介绍它们各自的使用方法,联系,以及区别. 一.使用方法 1. 反勾号(``) 首先,我们有命令输入操作符, ...
- PHP执行系统命令的4个方法 : system , shell_exec , exec , passthru
通过执行系统命令,我们可以调用系统的一些功能,甚至能与其他语言进行交互. 1 system() : system - 执行外部程序(命令行),并且显示输出 这个函数会将结果直接进行输出 (注意:是直接 ...
- PHP 执行系统外部命令 system() exec() passthru()
PHP中调用外部命令,可以用如下三种方法来实现: 方法一:用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shel ...
- system函数与exec函数
文章目录 system函数与exec函数 system函数 exec系列函数 system函数与exec函数 启动另一个新的进程 system函数 >> system函数的原型: #i ...
- Perl进程——exec system qx//
在perl中启动子进程执行外部程序有多种方式,主要有exec system qx//,qx//也就是通常说的反引号``.这几种方式有或多或少的区别. 本文想从是否返回进程 返回值是什么 什么时候返回 ...
- Linux exec与重定向
exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两 ...
最新文章
- 输入 n 个整数,输出其中最小的 k 个
- MySQL Explain详解,分析语句为何运行慢
- 中小企业利用VRRP实现链路负载均衡
- PostgreSQL Oracle 兼容性之 - INDEX SKIP SCAN (递归查询变态优化) 非驱动列索引扫描优化...
- Linux下生成动态链接库是否必须使用 -fPIC 的问题
- Android 编辑中的快捷键
- 云图说 | 云上资源管控有神器!关于IAM,你想知道的都在这里!
- 鸿蒙将至,安卓安否?
- 什么是软件开发的核心问题
- JavaScript页面跳转常用代码(转)
- Java .class 反编译 Luyten,导出 .java文件,查看jar 包目录,超级简单,实用
- 数据结构-二叉树(求二叉树叶子节点数的递归和非递归算法)
- css样式,鼠标移动上去变成禁用、小手等样式。
- 搭建亿万级别短信服务发送平台
- 使用java爬取国家统计局的12位行政区划代码
- 家门口的微醺“buff”——酒分之一开启社区酒吧式便利店次元
- 在 UltraEdit 或 UEStudio 中执行 DOS 或 Windows 命令
- Steam账号被盗后,账号找回,PUBG解封经验分享
- UML协作图(通信图)——软件需求分析与设计
- 【基于Html+CSS+JS的canvas赛车小游戏(效果+源码)】
热门文章
- 2013年第四届蓝桥杯C/C++ A组国赛 —— 第三题:埃及分数
- Python3学习笔记(一)简介 、 安装 、 解释器
- 【机器视觉】 dev_display算子
- 【机器视觉】 global算子
- 【Tools】MarkDown教程(七)-Typora详细教程
- 【C++】 C++标准模板库(十) 双向队列
- 【Linux网络编程】多播、组播
- git branch 为什么会进入编辑状态_Git很难,搞砸很容易,好在有神奇命令让时光倒流...
- javascript经典实例_JavaScript 经典实例收集整理
- javaWeb项目 IDEA中导入eclipes项目的方法。maven多模块项目(父子模块)与普通的web项目导入