程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中如何判斷exec函數執行成功?

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

編輯:PHP綜合

前言

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

解決方案

寫個PHP文件來做實驗:

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved