Mez*_*Mez 10
function wol($broadcast, $mac)
{
$hwaddr = pack('H*', preg_replace('/[^0-9a-fA-F]/', '', $mac));
// Create Magic Packet
$packet = sprintf(
'%s%s',
str_repeat(chr(255), 6),
str_repeat($hwaddr, 16)
);
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if ($sock !== false) {
$options = socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, true);
if ($options !== false) {
socket_sendto($sock, $packet, strlen($packet), 0, $broadcast, 7);
socket_close($sock);
}
}
}
Run Code Online (Sandbox Code Playgroud)
应该工作 - 用广播IP地址和MAC地址来呼叫它
我知道这是一个古老的问题,但这仍然是Google的第一个结果,因此,这是经过一些研究后我最终要做的事情:
先决条件:
wakeonlan从系统的软件包管理器sudo apt-get install wakeonlan)安装软件包现在脚本是如此简单:
<?php
# replace with your target MAC address
$mac = 'aa:bb:cc:11:22:33';
exec("wakeonlan $mac");
?>
Run Code Online (Sandbox Code Playgroud)
希望能对某人有所帮助。
| 归档时间: |
|
| 查看次数: |
26352 次 |
| 最近记录: |