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

 更新时间:2016年08月04日 11:27:04   投稿:daisy  
在PHP日常开发中有时候会要判断exec函数是否执行成功了呢?那如何判断呢?下面跟着小编一起通过本文来学习学习。

前言

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

解决方案

写个PHP文件来做实验:

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

<?php

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

print_r($log);

print_r($status);

echo PHP_EOL;

执行这个php文件:

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

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

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

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

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

这里$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开发的学习有所帮助。

相关文章

  • 百度站点地图(百度sitemap)生成方法分享

    百度站点地图(百度sitemap)生成方法分享

    百度目前还没有开放站点地图数据提交,但可以通过,百度站长工具的开放适配提交更新数据,大家参考使用吧
    2014-01-01
  • php中apc缓存使用示例

    php中apc缓存使用示例

    APC全称Alternative PHP Cache,可以缓存php的源码文件,也可以缓存用户数据,下面我们就安装一下他,看看如何查询缓存、修改缓存、删除缓存等功能
    2013-12-12
  • php利用嵌套数组拼接与解析json的方法

    php利用嵌套数组拼接与解析json的方法

    本篇文章主要介绍了php利用嵌套数组拼接与解析json的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 让CodeIgniter的ellipsize()支持中文截断的方法

    让CodeIgniter的ellipsize()支持中文截断的方法

    CodeIgniter的Text Helper有一个ellipsize()方法,用来过滤HTML标签并且截断文字十分好用。但是它对中文支持的特别不好,在中文中使用就有乱码出现。这篇文章主要介绍了让CodeIgniter的ellipsize()支持中文截断的方法,需要的朋友可以参考下
    2014-06-06
  • yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析

    yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析

    这篇文章主要介绍了yii2框架中使用下拉菜单的自动搜索yii-widget-select2的方法,介绍了yii-widget-select2的下载,安装及具体使用技巧,需要的朋友可以参考下
    2016-01-01
  • php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法

    php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法

    抓取网页内容,分析网页数据经常使用php curl,简洁易用,本篇文章通过代码实例给大家讲解 php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法,需要的朋友参考下
    2015-11-11
  • PHP的文件操作与算法实现的面试题示例

    PHP的文件操作与算法实现的面试题示例

    这篇文章主要介绍了PHP的文件操作与算法实现的面试题示例,选择了一些最具代表性和最基础的题目进行了归纳,需要的朋友可以参考下
    2015-08-08
  • 又拍云异步上传实例教程详解

    又拍云异步上传实例教程详解

    这篇文章主要介绍了又拍云异步上传实例教程详解的相关资料,需要的朋友可以参考下
    2016-04-04
  • 使用php操作xml教程

    使用php操作xml教程

    这篇文章主要介绍了使用php操作xml教程,本篇文章通过简要的案例和文档描述,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 基于ThinkPHP实现的日历功能实例详解

    基于ThinkPHP实现的日历功能实例详解

    这篇文章主要介绍了基于ThinkPHP实现的日历功能,结合实例形式详细分析了基于thinkPHP实现日历功能的相关界面布局、数据库操作与日期时间运算相关技巧,需要的朋友可以参考下
    2017-04-04

最新评论