php中執行shell指令碼的實現方法

來源:互聯網
上載者:User
本文介紹下,在php中直接執行shell指令碼的方法,有需要的朋友參考下吧。

代碼如下:

複製代碼程式碼範例:

$message=shell_exec("sudo /usr/local/nginx/sbin/nginx -t 2>&1");
echo "運行結果:".$message."
";
?>

以上代碼直接在PHP中執行SHELL語句。
如果有返回值,其中的 2>&1 是必須的 它負責重新導向輸出strerr 轉到strout 輸出。
否則返回結果會為空白。

php下執行shell命令可以用system、exec之類的,但是每個單獨的system命令都是分別調用shell的,

每次的環境都要重新初始化。
因此,如果用php執行多條命令連續的操作,則不能通過多條system實現功能。

本文提供以下二種方法,供大家參考。

1,用php產生shell檔案並執行它,完事後刪除

複製代碼程式碼範例:

file_put_countents('tmp.sh',"cd /usr/local
echo 'string'
ls $callback");
system('tmp.sh');

多條命令,直接換行即可。

2,多條命令直接寫在一條語句中,如下:

複製代碼程式碼範例:

system("cd {$path1};if [ ! -d {$path2} ];then \n { mkdir -p {$path2} \n chmod -R 777 {$path2} \n } \n fi;find -name '{$etaskid}-{$sid}*' -print | while read na

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

以上就介紹了 php中執行shell指令碼的實現方法,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.