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 相关文章推荐
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
PHP的单引号和双引号 字符串效率
May 27 PHP
php 文件缓存函数
Oct 08 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
php curl的深入解析
Jun 02 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
浅谈PHP错误类型及屏蔽方法
May 27 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
PHP的PDO连接讲解
Jan 24 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编实现程动态图像的创建代码
2008/09/28 PHP
php判断变量类型常用方法
2012/04/24 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
php curl发送请求实例方法
2019/08/01 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
JS选项卡动态替换banner图片路径的方法
2015/05/11 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
类如何去实现接口
2013/12/19 面试题
保送生自荐信范文
2013/10/06 职场文书
毕业横幅标语
2014/10/08 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
数学备课组工作总结
2015/08/12 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android