检查本地网络上的机器是否可以使用PHP

检查本地网络上的机器是否可以使用PHP,php,terminal,wake-on-lan,Php,Terminal,Wake On Lan,我有一个PHP应用程序运行在本地网络服务器(MacMiniServerwithOSXLion)上。有多个本地客户端(也是Mac)正在访问此应用程序。客户机不时处于休眠状态。我需要能够从PHP服务器检查本地客户端是否正在运行(唤醒)或处于睡眠模式 我使用AJAX轮询脚本成功地做到了这一点,我定期ping本地机器并在PHP应用程序中显示本地机器的状态。我遇到的问题是,如果客户机处于睡眠模式,PING命令会启动lan唤醒,这是我不希望看到的。我只想在不唤醒机器的情况下查看状态 可以这样做吗?检查 pm

我有一个PHP应用程序运行在本地网络服务器(MacMiniServerwithOSXLion)上。有多个本地客户端(也是Mac)正在访问此应用程序。客户机不时处于休眠状态。我需要能够从PHP服务器检查本地客户端是否正在运行(唤醒)或处于睡眠模式

我使用AJAX轮询脚本成功地做到了这一点,我定期ping本地机器并在PHP应用程序中显示本地机器的状态。我遇到的问题是,如果客户机处于睡眠模式,PING命令会启动lan唤醒,这是我不希望看到的。我只想在不唤醒机器的情况下查看状态

可以这样做吗?

检查

pmset-g | grep hibernatemode


我认为您需要为这些机器正确配置lan唤醒。他们很可能会因为每一个包而被唤醒,这可能不是你所需要的。通常,WoL配置为仅在上唤醒(在Windows上,可以在网卡驱动程序属性的设备管理器中配置)。然后,您将能够使用ping(或任何其他类型的网络流量)检查PC是否在线。

那么您正在搜索一个网络数据包,该数据包得到响应但不会触发lan唤醒?我认为没有。你可以让机器ping服务器。如果他们停止响应,他们就会关机。在客户端机器上安装/运行某些东西是一个选项吗?@JanDvorak更正我有在客户端机器上安装软件的选项。。。我也在考虑客户端ping服务器,如果停止响应,则标记它们处于脱机状态,但这不是最好的解决方案。恐怕您必须遵守死囚开关。好的
pmset-g | grep hibernatemode
将在本地计算机上为我提供休眠模式。如果远程计算机处于睡眠状态,则无法调用此状态。是否正确?