首先,我想向您介绍我正在尝试做的事情的基本概念:
我正在尝试让免费的网络托管服务为我做一些工作。我创建了一个 php 页面和 MySQL 数据库。我的 PHP 页面背后的基本思想是我有一个条件为 $shutdown 的 while 循环,以及 while 循环内的一些计数器来跟踪代码是否正在运行
<?php
/*
Connect to database etc. etc
*/
$shutdown = false;
// Main loop
while (!$shutdown)
{
// Check for user shutdown request
$strq = "SELECT * FROM TB_Shutdown;";
$result = mysql_query($strq);
$row = mysql_fetch_array($result);
if ($row[0] == "true")
{
$shutdown = true; // I know this statement is useless but nevermind
break;
}
//Increase counter
$strq = "SELECT * FROM TB_Counter;";
$result = mysql_query($strq);
$row = mysql_fetch_array($result);
if (intval($row[0]) == 60)
{
// Reset counter
$strq = "UPDATE TB_Counter SET value = 0";
$result = mysql_query($strq);
/*
I have some code to do some works at here its not important just curl stuff
*/
else
{
// Increase counter
$strq = "UPDATE TB_Counter SET value = " . (intval($row[0]) + 1);
$result = mysql_query($strq);
}
/*
I have some code to do some works at here its not important just curl stuff
*/
// Sleep
sleep(1);
}
?>
我有一个 check.php,它返回来自 TB_Counter 的值。
问题是:我每秒都在跟踪 TB_Counter 表。它会在一段时间后停止。如果我关闭我的网络浏览器(我称之为我的 main while php 循环页面),它会在大约 2 分钟后停止。如果不是在 5-7 分钟后,我会在浏览器上收到错误“连接已重置”并且循环停止。
我应该怎么做才能让我的循环永远持续下去?