做乙個**發布的系統,需要用到php的exec函式來執行linux下的命令和git,svn命令,如何判斷php的exec函式是否執行成功呢?
寫個php檔案來做實驗:
exec函式第乙個引數是執行的命令,第二個引數是執行的結果,第三個引數是執行的狀態。
php
1
2
3
4
5
6
7
8
9
<?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
1
2
3
4
5
6
7
8
9
10
11
public
function
runlocalcommand
($command)
去除了日誌記錄和其他的判斷。
注意這裡:
php
1$this
->
status=!
$status;
返回狀態的時候取相反的值!
(原文**:
)
PHP中如何判斷exec函式執行成功?
前言 做乙個 發布的系統,需要用到php的exec函式來執行linux下的命令和git,svn命令,如何判斷php的exec函式是否執行成功呢?解決方案 寫個php檔案來做實驗 exec函式第乙個引數是執行的命令,第二個引數是執行的結果,第三個引數是執行的狀態。print r log prwww.c...
php呼叫exec函式
在php中,經常遇到php呼叫外部指令碼程式,如exec,system函式 本環境在windows平台下測試 在php中呼叫perl指令碼,perl檔案內容如下 c xampp perl bin perl usejson useencode my val helloworld n my jsonco...
PHP 執行exec函式
exec 執行外部程式 語法 string exec string command array output int return var exec函式解析 exec語法 string exec string command,string array int return var exec返回值 字...