4

我有一个想法,我在 localhost 上运行了一个 php 本地网页

我想为 3 个按钮使用 GUI:关机睡眠重启

PHP 是否允许我进行这些操作?是否准备好在 PHP 中编写类、方法?

4

4 回答 4

12

如果您的 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

服务器故障在这里有一些很好的答案

于 2012-11-24T06:42:51.557 回答
4

几乎所有语言都必须进行系统调用。

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 是一种解释性语言,由一个网络服务器编译,该服务器发出信号由最终用户运行,因此这种行为可能很混乱。就像用电锯修剪指甲...

于 2012-11-24T06:40:55.067 回答
0

您可以从 php 调用 shell 脚本,该脚本将关闭、睡眠并重新启动您的计算机,它可以在基于 linux 的机器上完成,但不确定是否可以在 Windows pc 上

于 2012-11-24T06:39:29.927 回答
0

您可以在 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
于 2016-10-17T16:33:42.727 回答