php - html表单按钮运行命令php exec

标签 php linux bash button exec

我正在尝试学习如何使用 html 和 php 更改一些 debian 系统设置。我有一些 bash 脚本可以为我做事,我想通过网络应用程序来完成它们。

现在我正在尝试弄清楚如何更改名为/etc/hostapd/hostapd.conf 的文件中的 SSID 名称。

更改 SSID 名称:_____输入新的 SSID_____ [按钮]

一旦有人输入新的 SSID 名称并点击按钮,我就会让 php 执行一个 bash 脚本或一个 SED 命令来替换/etc/hostapd/hostapd.conf 中的文本,然后显示是否成功或不。我假设我会使用函数和 if/then/else。我已经制作了一些不错的 bash 脚本来自动化某些事情并想深入研究网络。我非常了解 HTML,而且 PHP 似乎也不太难理解。

我怎样才能完成这样的事情?

我试过在没有用户输入的情况下制作一个按钮,但无法让它工作,所以还没有尝试过文本框。假设权限并发现一些关于将 Nginx 或 www-data 添加到 sudo 的内容。

<?php if (isset($_POST['button'])) { exec('echo Hello World'); } ?>
<form action="" method="post">
<button type="submit" name="button">Run</button>
</form>

(我从我发现的另一篇文章中修改了这段代码,但页面上没有显示 Hello World。)

最佳答案

在您的代码中,您刚刚调用了 exec() 方法并传递了一个 bash 命令,输出返回给该函数,而不是回显或打印。您需要回显返回的字符串或类似的内容:

<?php
echo exec("echo \"Hello World\");
?>

此处引用 - http://php.net/manual/en/function.exec.php

关于php - html表单按钮运行命令php exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33072166/

相关文章:

linux - softirq 和 tasklet 在哪个上下文中?

python - 从 bash 脚本中欺骗 python 的 os.isatty

php - 单个 Doctrine 连接表中的多个关系

php - 如何将数组的值分布在三列中?

php - Mysqli 查询不工作两次

c - 为什么 more 命令不使用 stdin 来读取输入?

linux - 为什么我无法运行位于 bin 中的文件?

php - 检查 url 中是否至少有 1 个大写字母的正则表达式代码是什么? (php)

linux - 使用sed通过目录中的多个文件获取模式范围

linux - kill -9 $pid 的返回值