从网页执行Linux命令

时间:2018-06-30 05:30:35

标签: javascript php html linux web-development-server

我已经在apache2服务器上建立了一个非常基本的网站(在Ubuntu 18.04上运行)。该网站只有一页。我使用一些JavaScript向其中添加动态内容,并且该网站包含HTML表单,该表单将数据发送到MySql服务器-我使用PHP连接到数据库。

根据用户输入,我需要执行某个Linux终端命令(例如:ls -l)。例如,如果用户输入名字和姓氏,然后单击Submit按钮,则ls -l命令将自动执行,而无需用户在终端中执行任何操作。这可能吗? 这是我拥有的HTML表单:

<form method="post">
    <label>Fisrt Name: <input type="text" name="firstname" required></label>
    <label>Last Name: <input type="text" name="lastname" required></label>
    <input type="submit" name="submit" value="Submit">
</form>

编辑: 好的,所以除了连接到MySql数据库的代码外,我现在还有以下PHP代码:

<?php
    $output = shell_exec('sudo addgroup test2');
    echo "<pre>$output</pre>;

    $result = exec('echo $?');
    echo "$result";
?>

但是,它不添加该组,并且echo $?返回0。但是,当我用shell_exec('sudo addgroup test2');替换shell_exec('ls -l');时,它可以正常工作。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

这需要由在Apache后面运行的后端服务器代码来处理。您可以通过UI作为查询字符串或POST json传递命令,并编写服务器端脚本(在php中)以捕获参数并以firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; // ... }); http://php.net/manual/en/function.shell-exec.php的形式执行功能。