php - 如何使用 php 重启 linux 系统 (Debian)

标签 php linux

我想使用 PHP 执行 linux 命令

我的文件.php:

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

有效!

但是当我将 linux 命令从 ls 更改为 reboot 时,没有任何反应!

所以我试图找到另一种解决方案:

我的代码.html:

<button type="button" onclick="/var/www/myscript.sh">Click Me!</button>

我的脚本.sh:

sudo reboot

这也行不通!

谁能帮我解决这个问题。

感谢您的帮助。

最佳答案

默认情况下,重启命令必须以root身份执行。如果您的 Web 服务器在 root 帐户下运行,您将能够做到这一点,但这是非常不寻常的提议。

通常情况下,web服务器运行在受限账户下,不能做太多事情,当然也不能执行reboot。如果您真的想这样做,那么必须非常小心。提供此功能的标准方法是创建特殊的包装器(很可能是 suid),它在允许在提升的权限下运行之前检查许多条件。

另一个解决方案是让 PHP 创建标志文件或插入特殊的数据库条目,这将由另一个以 root 身份运行的服务检查,注意到该标志并最终执行重启。

关于php - 如何使用 php 重启 linux 系统 (Debian),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19109454/

相关文章:

php - 如果 mysql 字段为空

PHP MySQL - 选择编号最大的 ID

c - Linux串口编程

linux - kernel32.dll wine |菜鸟警告|

linux - 限制linux用户只能访问文件夹和文件

linux - 以编程方式打开 Gnome 终端并运行命令

php - session 清空后退按钮浏览器缓存

php - 使用 php 页面编辑数据库行

php - Memcache 无法在 Codeigniter 上运行

linux - 有没有办法让 Windows 像 Linux 那样返回目录的路径?