PHP中exec函数和shell_exec函数的区别


Posted in PHP onAugust 20, 2014

这两个函数都是执行Linux命令函数,不同的是获取返回结果不一样,exec只能获取最后一行数据,shell_execu则可以获取全部数据。

假如脚本路径下有如下文件:

-bash-4.1# ll

总用量 12

-rw-rw-r--. 1 www web 133  7月 16 15:00 a.php

-rw-r--r--. 1 lee web  59  2月 29 17:05 b.php

-rw-r--r--. 1 lee web  81  3月  8 17:00 c.php

exec例子
<?php

/**

 * exec与shell_exec的区别

 * 琼台博客

 */

$data = exec('/bin/ls -l');

echo '<pre>';

print_r($data);

echo '</pre>';

?>

执行结果
-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php

shell_exec例子
<?php

/**

 * exec与shell_exec的区别

 * 琼台博客

 */

$data = shell_exec('/bin/ls -l');

echo '<pre>';

print_r($data);

echo '</pre>';

?>

执行结果
total 12

-rw-rw-r--. 1 www web 139 Jul 16  2012 a.php

-rw-r--r--. 1 lee web  59 Feb 29 17:05 b.php

-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php

所以平时使用exec函数的童鞋注意了,如果你需要获取全部返回信息,就应该使用shell_exec函数,当然,如果命令执行结果只有一行返回信息,那么使用哪个都无所谓。
PHP 相关文章推荐
php实现mysql数据库操作类分享
Feb 14 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
在php和MySql中计算时间差的方法详解
Mar 27 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
PHP+MySQL存储数据常见中文乱码问题小结
Jun 13 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
php查询及多条件查询
Feb 26 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
详解php实现页面静态化原理
Jun 21 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
实例讲解PHP面向对象之多态
Aug 20 #PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 #PHP
Linux下PHP连接Oracle数据库
Aug 20 #PHP
Win7 64位系统下PHP连接Oracle数据库
Aug 20 #PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 #PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 #PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 #PHP
You might like
php根据用户语言跳转相应网页
2015/11/04 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript preload&amp;lazy load
2010/05/13 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
使用Web Uploader实现多文件上传
2016/06/08 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
Python Sqlalchemy如何实现select for update
2020/10/12 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
Python使用Pygame绘制时钟
2020/11/29 Python
python+opencv实现车道线检测
2021/02/19 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
人事主管的岗位职责
2013/11/16 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
重阳节慰问信
2015/02/15 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
二年级数学教学反思
2016/02/16 职场文书
高质量“欢迎词”
2019/04/03 职场文书
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS
yolov5返回坐标的方法实例
2022/03/17 Python