在php中生成循环
我实际上是在做一个脚本来检查游戏服务器是在线还是离线 到目前为止,我所做的脚本不会每20分钟检查一次服务器。 我想让脚本检查服务器是在线还是离线,并输出信息 我现在的代码是:在php中生成循环,php,fsockopen,json-api,Php,Fsockopen,Json Api,我实际上是在做一个脚本来检查游戏服务器是在线还是离线 到目前为止,我所做的脚本不会每20分钟检查一次服务器。 我想让脚本检查服务器是在线还是离线,并输出信息 我现在的代码是: /* Server Information –––––––––––––––––––––––––––––––––––––––––––––––––– */ $server_Debug = "9332"; $server_Port = "9339"; $server_key = "UCSGL"; /* Get's IP –
/* Server Information
–––––––––––––––––––––––––––––––––––––––––––––––––– */
$server_Debug = "9332";
$server_Port = "9339";
$server_key = "UCSGL";
/* Get's IP
–––––––––––––––––––––––––––––––––––––––––––––––––– */
$server_Ip = file_get_contents('http://bot.whatismyipaddress.com/');
/* API installation
–––––––––––––––––––––––––––––––––––––––––––––––––– */
if ($isOnline = @fsockopen($server_Ip,$server_Port,$errno,$errstr)) {
fclose($isOnline); //Establish connection to api if server online
$serverStatus = '<div class="callout callout-success"><h4>Server Online!</h4><p>Server is online, you can start playing with us!</div>';
$memClans = file_get_contents("http://$server_Ip:$server_Debug/$server_key/inmemclans");
$onPlayers = file_get_contents("http://$server_Ip:$server_Debug/$server_key/onlineplayers");
$players = file_get_contents("http://$server_Ip:$server_Debug/$server_key/totalclients");
$usedram = file_get_contents("http://$server_Ip:$server_Debug/$server_key/ram");
$info = '<i class="fa fa-circle text-success"></i> Online';
} else { //Else display N/A instead if throwing 404 and reuining the page!
$serverStatus = '<div class="callout callout-danger"><h4>Server Offline!</h4><p>Server is Offline, we are working on to fix it! Will start to work soon.</p></div>';
$memClans = "N/A";
$onPlayers = "N/A";
$players = "N/A";
$usedram = "N/A";
$info = '<i class="fa fa-circle text-danger"></i> Offline';
}
/*服务器信息
–––––––––––––––––––––––––––––––––––––––––––––––––– */
$server_Debug=“9332”;
$server_Port=“9339”;
$server\u key=“UCSGL”;
/*获取用户IP
–––––––––––––––––––––––––––––––––––––––––––––––––– */
$server\u Ip=file\u get\u contents('http://bot.whatismyipaddress.com/');
/*API安装
–––––––––––––––––––––––––––––––––––––––––––––––––– */
if($isOnline=@fsockopen($server\u Ip、$server\u Port、$errno、$errstr)){
fclose($isOnline);//如果服务器联机,则建立到api的连接
$serverStatus='服务器在线!服务器在线,您可以开始与我们一起玩了!';
$memClans=file\u get\u contents(“http://$server\u Ip:$server\u Debug/$server\u key/inmemclans”);
$onPlayers=file\u get\u contents(“http://$server\u Ip:$server\u Debug/$server\u key/onlineplayers”);
$players=file_get_contents(“http://$server_Ip:$server_Debug/$server_key/totalclients”);
$usedram=file\u get\u contents(“http://$server\u Ip:$server\u Debug/$server\u key/ram”);
$info=‘在线’;
}else{//else如果抛出404并重新合并页面,则显示N/A!
$serverStatus='服务器脱机!服务器脱机,我们正在修复它!将很快开始工作。';
$memClans=“不适用”;
$onPlayers=“不适用”;
$players=“不适用”;
$usedram=“不适用”;
$info=‘离线’;
}
您能告诉我如何每20分钟执行一次相同的脚本并输出信息吗
提前感谢我想,您需要一个cron作业来完成此任务
Cron实际上在服务器上以给定的间隔执行指定的文件。您只想刷新浏览器吗?不,我不想刷新浏览器。我希望脚本每20分钟执行一次并输出结果@Quasimodo'sclone您想在哪里输出结果?在网页上?或者在文件中。cron作业不允许您在网页中查看输出。但是您可以在设置cronjob时将输出写入文件。@RossiMilanBob米兰Bob好的,请查看此网站。我希望脚本每20分钟检查一次服务器状态。你能告诉我如何使用cron作业吗?我和cPanel在一起,我没有权限。不管怎样,要用php实现它?CPanel中提供了Cron作业(高级>Cron作业)。有关语法的更多信息,请参见此答案:也检查此cpanel UI。。非常感谢@Sid我找到路了!