資料來源「1」:http://stackoverflow.com/questions/11052162/run-bash-command-from-php
$old_path = getcwd();
chdir('/my/path/');
$output = shell_exec('./script.sh var1 var2');
chdir($old_path);
---------------------------------
資料來源「2」:http://blog.longwin.com.tw/2013/06/php-system-exec-shell_exec-diff-2013/
一般系統會有兩種輸出, 一種是系統狀態(return code), 一種是輸出文字(output string), 這三個 Function 主要就是這些回傳的差異.
system()
$last_line = system('ls', $return_var);
system() 會將輸出內容直接印出, 所以若於網頁, 會將所有回傳內容都顯示於頁面上.
$last_line: 只能取得最後一行的內容
$return_var: 取得系統狀態回傳碼
exec()
exec('ls', $output, $return_var);
$output: 回傳內容都會存於此變數中(儲存成陣列), 不會直接秀在頁面上.
$return_var: 取得系統狀態回傳碼
shell_exec()
$output = shell_exec('ls');
$output: 回傳內容都會存於此變數中(儲存成純文字內容), 不會直接秀在頁面上.
在Raspberry Pi 下架設 nginx+PHP
回覆刪除下面php可以正常執行
$old_path = getcwd();
chdir('/home/pi/php_study');
$output = shell_exec('ls -l');
chdir($old_path);