2014年11月14日 星期五

php call shell script

php call shell script


 


資料來源「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: 回傳內容都會存於此變數中(儲存成純文字內容), 不會直接秀在頁面上.


 


 


 













 




1 則留言:

  1. 在Raspberry Pi 下架設 nginx+PHP
    下面php可以正常執行

    $old_path = getcwd();
    chdir('/home/pi/php_study');
    $output = shell_exec('ls -l');
    chdir($old_path);

    回覆刪除