exec只能獲取最後一行數據php
exec()執行外部命令失敗,但沒有任何錯誤信息。shell
注:exec執行某命令在命令行下沒有問題,可是在php中就出錯。這個問題99.99%與權限有關,可是exec執行的命令不會返回錯誤。一個技巧就是使用管道命令,假設你的exec調用以下:數組
exec('convert a.jpg b.jpg 2>&1', $output, $return_val); print_r($output);
使用 2>&1, 命令就會輸出shell執行時的錯誤到$output變量, 輸出該變量便可分析。
備註: exec有3個參數,第一個是要執行的命令,第二個是參數是一個數組,數組的值是由第一個命令執行後生成的,第三個參數執行的狀態,0表示成功,其餘都表示失敗。函數
在php裏面一共有三個函數能夠用來執行外部命令system,exec,passthru。spa
參考網址:http://blog.csdn.net/stpeace/article/details/50762905.net
shell_exec 則能夠獲取所有數據命令行