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 相关文章推荐
如何对PHP程序中的常见漏洞进行攻击(上)
Oct 09 PHP
如何提高MYSQL数据库的查询统计速度 select 索引应用
Apr 11 PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
Jun 14 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
php生成年月日下载列表的方法
Apr 24 PHP
php动态绑定变量的用法
Jun 16 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
yii2项目实战之restful api授权验证详解
May 20 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 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
php常用的安全过滤函数集锦
2014/10/09 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
php常用数组函数实例小结
2016/12/29 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
javascript css float属性的特殊写法
2008/11/13 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
跟老齐学Python之网站的结构
2014/10/24 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
python视频按帧截取图片工具
2019/07/23 Python
利用python计算时间差(返回天数)
2019/09/07 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
公积金单位接收函
2014/01/11 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
人力资源管理求职信
2014/08/07 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
新闻人物通讯稿
2014/10/09 职场文书
家庭困难证明
2014/10/12 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
大学生支教感言
2015/08/01 职场文书