我正在使用 PHP 的 exec 函數來執行 bash 腳本。<?php if(isset($_POST['submit'])) { $input = $_POST['submit']; exec("sudo -u root sh /var/www/html/script.sh '$input'"); }?><form action="" method="POST"><input type="text" name="submit" value=""></form>如您所見,exec 命令依賴于用戶輸入。當用戶的輸入只有一個詞時,一切正常,bash 腳本接收輸入。但是,當用戶輸入多個單詞時,PHP 不會運行 exec 命令。當從命令行運行時,PHP 正在執行的完全相同的命令在多個單詞的情況下工作得非常好,所以這絕對是 PHP 的問題。
當用戶輸入是多個單詞時,PHP 不執行 bash 腳本
慕碼人8056858
2021-11-26 18:03:55