星期五, 3月 29, 2019

PHP system call system/exec/shell_exec difference and sudo

PHP system call system/exec/shell_exec difference

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

www-data        ALL=(ALL) NOPASSWD: /usr/bin/amixer


Reference:

沒有留言: