《PHP實戰:PHP中如何判斷exec函數執行成功?》要點:
本文介紹了PHP實戰:PHP中如何判斷exec函數執行成功?,希望對您有用。如果有疑問,可以聯系我們。
前言PHP學習
做一個代碼發布的系統,需要用到PHP的exec函數來執行Linux下的命令和git,svn命令,如何判斷PHP的exec函數是否執行成功呢?PHP學習
解決方案PHP學習
寫個PHP文件來做實驗:PHP學習
exec函數第一個參數是執行的命令,第二個參數是執行的結果,第三個參數是執行的狀態.PHP學習
<?php exec('ls', $log, $status); print_r($log); print_r($status); echo PHP_EOL;
執行這個php文件:PHP學習
PHP學習
這里$log,$status輸出結果如圖.PHP學習
但是$status為0,給人的感覺是執行失敗,其實不是,這是exec執行成功.PHP學習
改一下這個php文件,給exec第一個參數一個錯誤的命令.PHP學習
如:exec(‘lsaa',$log,$status).
PHP學習
再次執行,運行結果如圖:PHP學習
PHP學習
這里$status確是有值的.PHP學習
那么證明$status為0的時候表示exec執行是成功的.這里PHP官方手冊上并沒有明確說明.PHP學習
最終這個執行命令的方法如下:PHP學習
PHP exec執行命令PHPPHP學習
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; }
去除了日志記錄和其他的判斷.PHP學習
注意這里:PHP學習
$this->status = !$status;
返回狀態的時候取相反的值!PHP學習
總結PHP學習
以上就是PHP中判斷exec函數是否執行成功的詳細內容及實例代碼,有助于幫助大家深入掌握PHP開發,希望本文所述對大家PHP開發的學習有所幫助.PHP學習
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4820.html