有没有办法使用PHP关闭pc

时间:2012-11-24 06:35:50

标签: php windows browser

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

我希望将GUI用于3个按钮:关闭睡眠重启

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

4 个答案:

答案 0 :(得分:9)

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

More info here.

就* nix上的睡眠/待机而言,它变化很大。


注意:您还可以使用shell_exec()exec()


编辑:

根据user1597430的评论,在* nix系统中,您可以传递-h(暂停)选项,该选项基本上会关闭并暂停 CPU但不会断开主电源。

system('shutdown -h now'); // shutdown and halt
system('shutdown -P now'); // shutdown and power off

服务器故障has some great answers here about this

答案 1 :(得分: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是一种解释型语言,由一个网络服务器编译,该信号由最终用户运行,因此对于这种行为来说可能很麻烦。就像用电锯修剪指甲一样......

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以在Windows上使用PHP执行.bat文件。

<?php echo exec('reboot.bat'); ?>

.bat文件的内容:

关机示例:

C:\Windows\system32\shutdown.exe -s -c "Shutdown the computer."

重启示例:

C:\Windows\system32\shutdown.exe -r -c "Rebooting for latest updates."

StandByModus

rundll32.exe powrprof.dll,SetSuspendState