如何了解Windows XP或7机器是否使用PHP打开或关闭


How to understand whether a Windows XP or 7 machine is switched on or off with PHP?

我想获得本地网络上联机或脱机的计算机列表,但我必须使用PHP, HTML和JavaScript。

我在PHP中使用exec命令"ping servername",但它太慢了,所以我只能得到7或8个,然后PHP给出错误计算机情况,但我需要50台计算机情况。

我试图从所有计算机(如'lab4-01'c$)访问文件,但它在PHP或JavaScript中不起作用,但我再次失败。

  • 如何解决这个问题?

您应该编写一个cron脚本,一次测试几台计算机,并使用状态和最后更新时间更新数据库表。脚本将首先尝试更新那些很长时间没有更新的计算机。例如,对于一次10台计算机,您的查询将按updatetime排序并限制为10,例如在ORDER BY updatetime LIMIT 10中。

你的状态页不应该直接测试计算机,而是从数据库中检索数据,这将是非常快的显示。

注意不要重叠执行cron脚本,否则机器运行级别可能会上升到天空,例如,如果您的cron每X分钟执行一次,您可以设置较低的最大执行时间

使用ping不是一个好主意,因为有些网络会过滤ICMP流量。我会使用php函数fsockopen();http://php.net/manual/en/function.fsockopen.php