亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP中如何判斷exec函數(shù)執(zhí)行成功?

 更新時間:2016年08月04日 11:27:04   投稿:daisy  
在PHP日常開發(fā)中有時候會要判斷exec函數(shù)是否執(zhí)行成功了呢?那如何判斷呢?下面跟著小編一起通過本文來學(xué)習(xí)學(xué)習(xí)。

前言

做一個代碼發(fā)布的系統(tǒng),需要用到PHP的exec函數(shù)來執(zhí)行Linux下的命令和git,svn命令,如何判斷PHP的exec函數(shù)是否執(zhí)行成功呢?

解決方案

寫個PHP文件來做實驗:

exec函數(shù)第一個參數(shù)是執(zhí)行的命令,第二個參數(shù)是執(zhí)行的結(jié)果,第三個參數(shù)是執(zhí)行的狀態(tài)。

<?php

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

print_r($log);

print_r($status);

echo PHP_EOL;

執(zhí)行這個php文件:

這里$log,$status輸出結(jié)果如圖。

但是$status為0,給人的感覺是執(zhí)行失敗,其實不是,這是exec執(zhí)行成功。

改一下這個php文件,給exec第一個參數(shù)一個錯誤的命令。

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

再次執(zhí)行,運行結(jié)果如圖:

這里$status確是有值的。

那么證明$status為0的時候表示exec執(zhí)行是成功的。這里PHP官方手冊上并沒有明確說明。

最終這個執(zhí)行命令的方法如下:

PHP exec執(zhí)行命令PHP

public function runLocalCommand($command) {
  $command = trim($command);
  $status = 1;
  $log = '';
  exec($command . ' 2>&1', $log, $status);
  // 執(zhí)行過的命令
  $this->command = $command;
  // 執(zhí)行的狀態(tài)
  $this->status = !$status;
  return $this->status;
}

去除了日志記錄和其他的判斷。

注意這里:

$this->status = !$status;

返回狀態(tài)的時候取相反的值!

總結(jié)

以上就是PHP中判斷exec函數(shù)是否執(zhí)行成功的詳細(xì)內(nèi)容及實例代碼,有助于幫助大家深入掌握PHP開發(fā),希望本文所述對大家PHP開發(fā)的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評論