我正在使用 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 的问题。
慕尼黑8549860
莫回无