【发布时间】:2018-12-09 06:08:50
【问题描述】:
我在 apache2 服务器上建立了一个非常基本的网站(在 Ubuntu 18.04 上运行)。该网站只有一页。我使用一些 JavaScript 向其中添加动态内容,并且该网站包含 HTML 表单,该表单将数据发送到 MySql 服务器——我使用 PHP 连接到数据库。
根据用户输入,我需要执行某个 Linux 终端命令(例如:ls -l)。例如,如果用户输入名字和姓氏并单击提交按钮,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('ls -l'); 替换 shell_exec('sudo addgroup test2'); 时——它工作正常。我做错了什么?
【问题讨论】:
-
所以,
ls -l将在服务器上运行 - 所以你需要在服务器端代码中展示你打算如何做到这一点 -
所以我还不知道如何在服务器端代码中做到这一点。我需要一些指导
-
谢谢。所以这段代码将在网站托管的服务器上运行,对吗?
-
哪个代码?你还没有显示任何代码
标签: javascript php html linux web-development-server