我已经在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');
时,它可以正常工作。我在做什么错了?
答案 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的形式执行功能。