我有一个想法,我在 localhost 上运行了一个 php 本地网页
我想为 3 个按钮使用 GUI:关机、睡眠和重启
PHP 是否允许我进行这些操作?是否准备好在 PHP 中编写类、方法?
如果您的 Apache/PHP 配置设置为允许使用system
,那么您可以使用它。
对于 *nix 系统:
system('shutdown now'); // shutdown
// or
system('reboot'); // reboot
system('shutdown -r now'); // also reboot :)
对于 Windows:
system('shutdown -t -s 0'); // shutdown
// or
system('shutdown -r -t 0'); // reboot
就 *nix 上的睡眠/待机而言,它变化很大。
注意:您也可以使用shell_exec()
或exec()
。
编辑:
根据 user1597430 的评论,在 *nix 系统中,您可以传递-h
(halt) 选项,该选项基本上会关闭并停止CPU,但不会断开主电源。
system('shutdown -h now'); // shutdown and halt
system('shutdown -P now'); // shutdown and power off
服务器故障在这里有一些很好的答案。
几乎所有语言都必须进行系统调用。
shutdown -s -t 0
这或多或少是灵丹妙药。例如,Java 可以这样称呼它:
public static void main(String arg[]) throws IOException{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("shutdown -s -t 0");
System.exit(0);
}
PHP会是这样的
<?php
exec ('shutdown -s -t 0');
?>
但问题是 PHP 是一种解释性语言,由一个网络服务器编译,该服务器发出信号由最终用户运行,因此这种行为可能很混乱。就像用电锯修剪指甲...
您可以从 php 调用 shell 脚本,该脚本将关闭、睡眠并重新启动您的计算机,它可以在基于 linux 的机器上完成,但不确定是否可以在 Windows pc 上
您可以在 Windows 上使用 PHP 执行 .bat 文件。
<?php echo exec('reboot.bat'); ?>
.bat 文件的内容:
关机示例:
C:\Windows\system32\shutdown.exe -s -c "关闭计算机。"
重启示例:
C:\Windows\system32\shutdown.exe -r -c“正在重新启动以获取最新更新。”
待机模式
rundll32.exe powrprof.dll,SetSuspendState