PHP中如何判断exec函数执行成功?


Posted in PHP onAugust 04, 2016

前言

做一个代码发布的系统,需要用到PHP的exec函数来执行Linux下的命令和git,svn命令,如何判断PHP的exec函数是否执行成功呢?

解决方案

写个PHP文件来做实验:

exec函数第一个参数是执行的命令,第二个参数是执行的结果,第三个参数是执行的状态。

<?php

exec('ls', $log, $status);

print_r($log);

print_r($status);

echo PHP_EOL;

执行这个php文件:

PHP中如何判断exec函数执行成功?

这里$log,$status输出结果如图。

但是$status为0,给人的感觉是执行失败,其实不是,这是exec执行成功

改一下这个php文件,给exec第一个参数一个错误的命令。

如:exec(‘lsaa',$log,$status).

再次执行,运行结果如图:

PHP中如何判断exec函数执行成功?

这里$status确是有值的。

那么证明$status为0的时候表示exec执行是成功的。这里PHP官方手册上并没有明确说明。

最终这个执行命令的方法如下:

PHP exec执行命令PHP

public function runLocalCommand($command) {
  $command = trim($command);
  $status = 1;
  $log = '';
  exec($command . ' 2>&1', $log, $status);
  // 执行过的命令
  $this->command = $command;
  // 执行的状态
  $this->status = !$status;
  return $this->status;
}

去除了日志记录和其他的判断。

注意这里:

$this->status = !$status;

返回状态的时候取相反的值!

总结

以上就是PHP中判断exec函数是否执行成功的详细内容及实例代码,有助于帮助大家深入掌握PHP开发,希望本文所述对大家PHP开发的学习有所帮助。

PHP 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
php截取字符串并保留完整xml标签的函数代码
Feb 06 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
zf框架db类的分页示例分享
Mar 14 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
May 11 PHP
php实现处理输入转义字符的代码
Nov 08 PHP
PHP抓取及分析网页的方法详解
Apr 26 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
详解Laravel视图间共享数据与视图Composer
Aug 04 #PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 #PHP
Laravel最佳分割路由文件(routes.php)的方式
Aug 04 #PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 #PHP
浅析php如何实现App常用的秒发功能
Aug 03 #PHP
php微信开发之带参数二维码的使用
Aug 03 #PHP
PHP支付系统设计与典型案例分享
Aug 02 #PHP
You might like
php的控制语句
2006/10/09 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
那些年一起学习的PHP(一)
2012/03/21 PHP
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
Python的print用法示例
2014/02/11 Python
编写Python的web框架中的Model的教程
2015/04/29 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
python实现猜数字小游戏
2020/03/24 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
python3中布局背景颜色代码分析
2020/12/01 Python
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
幼儿园的门卫岗位职责
2014/04/10 职场文书
有关环保的标语
2014/06/13 职场文书
中学清明节活动总结
2014/07/04 职场文书
安全目标责任书
2014/07/22 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
锦旗赠语
2015/06/23 职场文书
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python
oracle数据库去除重复数据
2022/05/20 Oracle