我有一个包含主机和端口的数据库,我想知道是否有一种严格的PHP方法,一次ping所有这些并每30分钟记录一次。
编辑:忘记添加..我是初学者答案 0 :(得分:3)
您可以使用像cron这样的任务调度程序,但如果您真的想在脚本本身内以指定的间隔重复任务,则可以将循环与sleep()
或usleep()
结合使用:< / p>
while (true) {
/*
Perform pings here and write output to some file
If the functions write directly to stdout, you can use
ob_start() and ob_get_clean() to catch the output
and write it to a log file instead.
*/
sleep(1800); // 30 minutes in seconds
}
使用此方法,您应该在php.ini或set_time_limit(0)
中禁用PHP的时间限制设置。
答案 1 :(得分:2)
听起来你已经有了一个现有的脚本来执行你需要的功能。我建议修改此脚本(如果需要)从命令行而不是作为网页运行。即,不要依赖$ _GET或$ _POST之类的东西。运行一次检查,记录结果,然后退出。然后只需添加一个cron
作业,每30分钟运行一次脚本。