myfile.PHP:
<?PHP $output = shell_exec('ls'); echo "<pre>$output</pre>"; ?>
有用!
但是,当我从ls更改linux命令reboot ,没有任何反应!
struct sigaction不完整的错误
在Linux上安装RStudio软件包时遇到问题
而在Bash脚本循环?
创build新文件,但如果文件名已存在于bash中,则添加数字
/etc/rc.local和〜/ .bashrc有什么区别?
mycode.html:
<button type="button" onclick="/var/www/myscript.sh">Click Me!</button>
myscript.sh:
sudo reboot
它也不起作用!
任何人都可以帮助我解决这个问题。
谢谢你的帮助。
尝试使用g ++编译目标文件时,出现“-std = c ++ 11:command not found”错误
如何在Linux中以编程方式分离屏幕?
缺省情况下,reboot命令必须以root身份执行。 如果您的Web服务器在root帐户下运行,您将能够做到这一点,但这是非常不寻常的命题。
通常情况下,Web服务器运行在有限的帐户,不能做太多,当然不能执行重新启动。 如果你真的想这样做的话,一定要非常小心。 提供这种方法的标准方法是创建特殊的包装器(很可能是suid),它允许在提升的权限下运行之前检查许多条件。
另一个解决方案是让PHP创建标志文件或插入特殊的数据库条目,这将由另一个以root身份运行的服务进行检查,注意到该标志并最终执行重新引导。
正如@ mvp所说,你不能以非root用户身份执行重启。
你的myscript.sh将是:
#!/bin/bash touch /tmp/reboot.Now
#!/bin/bash if [ -f /tmp/reboot.Now ]; then rm -f /tmp/reboot.Now /sbin/shutdown -r Now fi
然后将您的服务器配置为每分钟执行一次该脚本
* * * * * /usr/local/sbin/reboot.sh
而且不要忘了给执行权限的文件,当然。
希望能帮助到你
编辑:当然你的myscript.sh可以用fopen和fclose代替
除了Sal00m的回答
ROOT crontab
* * * * * /usr/local/sbin/checkreboot.sh
checkreboot.sh
#!/bin/bash if [ -f /var/www/html/reboot.server ]; then rm -f /var/www/html/reboot.server /sbin/shutdown -r Now fi
reboot.PHP
<?PHP $filehandler = fopen("/var/www/html/reboot.server",'w'); fwrite($filehandler,"Reboot Nown"); fclose($filehandler); ?>
From http://www.linuxquestions.org/questions/linux-newbie-8/shutdown-and-reboot-linux-system-via-PHP-script-713379/#post3486126
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。