我想使用 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/