源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-11-17 17:01 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP中如何判断exec函数执行成功?
[b]前言[/b] 做一个代码发布的系统,需要用到PHP的[b]exec函数[/b]来执行Linux下的命令和[b]git,svn[/b]命令,如何判断PHP的[b]exec函数[/b]是否执行成功呢? [b]解决方案[/b] 写个PHP文件来做实验: [b]exec函数[/b]第一个参数是执行的命令,第二个参数是执行的结果,第三个参数是执行的状态。
<?php

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

print_r($log);

print_r($status);

echo PHP_EOL;
执行这个php文件: [img]http://files.jb51.net/file_images/article/201608/201684112216796.png?201674112234[/img] 这里[b]$log,$status[/b]输出结果如图。 但是[b]$status[/b]为0,给人的感觉是执行失败,其实不是,[b]这是exec执行成功[/b]。 改一下这个php文件,给exec第一个参数一个错误的命令。 如:[code]exec(‘lsaa',$log,$status).[/code] 再次执行,运行结果如图: [img]http://files.jb51.net/file_images/article/201608/201684112338715.png?201674112347[/img] 这里[b]$status[/b]确是有值的。 那么证明[b]$status[/b]为0的时候表示exec执行是成功的。这里PHP官方手册上并没有明确说明。 最终这个执行命令的方法如下: [b]PHP exec执行命令PHP[/b]
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;
[b]返回状态的时候取相反的值![/b] [b]总结[/b] 以上就是PHP中判断[b]exec函数[/b]是否执行成功的详细内容及实例代码,有助于帮助大家深入掌握PHP开发,希望本文所述对大家PHP开发的学习有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部