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 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
PHP Google的translate API代码
Dec 10 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
thinkphp循环结构用法实例
Nov 24 PHP
PHP文件读取功能的应用实例
May 08 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
php可变长参数处理函数详解
Feb 22 PHP
Yii输入正确验证码却验证失败的解决方法
Jun 06 PHP
CI框架实现创建自定义类库的方法
Dec 25 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 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
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
详解php反序列化
2020/06/10 PHP
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
js比较日期大小的方法
2015/05/12 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
js实现文字滚动效果
2016/03/03 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
Python字符串逐字符或逐词反转方法
2015/05/21 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
numpy数组拼接简单示例
2017/12/15 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
django 控制页面跳转的例子
2019/08/06 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
工程专业毕业生自荐信范文
2013/12/25 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
水电维修专业推荐信
2014/09/06 职场文书
先进教师事迹材料
2014/12/16 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
介绍长城的导游词
2015/01/30 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
交通安全教育心得体会
2016/01/15 职场文书