php中的exec和shell_exec兩個(gè)函數(shù)都可以用來(lái)執(zhí)行l(wèi)inux命令,但它們?cè)谑褂梅绞揭约敖Y(jié)果的返回上,差別還是比較大的。
exec
調(diào)用方式:
exec($cmd.' 2>&1',$output,$status);
$cmd:shell腳本
2>&1:表示shell腳本執(zhí)行過(guò)程中的錯(cuò)誤信息會(huì)被輸出
$output:數(shù)組格式,用于存儲(chǔ)2>&1輸出的錯(cuò)誤信息
$status:shell腳本的執(zhí)行狀態(tài),0表示成功,其他都表示失敗
shell_exec
調(diào)用方式:
$result = shell_exec($cmd);
$cmd:shell腳本
$result:shell腳本的執(zhí)行結(jié)果
使用建議
如果你的shell腳本返回的結(jié)果是一個(gè)列表,建議使用shell_exec,相應(yīng)的,如果它返回的只是某種狀態(tài),建議用exec。