首頁  >  文章  >  後端開發  >  PHP中如何判斷exec函數執行成功? _php實例

PHP中如何判斷exec函數執行成功? _php實例

WBOY
WBOY原創
2016-08-17 13:02:361456瀏覽

前言

做一個程式碼發佈的系統,需要用到PHP的exec函數來執行Linux下的指令和git,svn指令,如何判斷PHP的exec函數是否執行成功呢?

解決方案

寫個PHP檔來做實驗:

exec函數第一個參數是執行的指令,第二個參數是執行的結果,第三個參數是執行的狀態。

<&#63;php

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

print_r($log);

print_r($status);

echo PHP_EOL;

執行這個php檔:

這裡$log,$status輸出結果如圖。

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

改一下這個php文件,給exec第一個參數一個錯誤的指令。

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

再次執行,運行結果如圖:

這裡$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開發的學習有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn