0

我有一个与许多其他问题相关的问题,但有一些关键的区别。我有一个 PHP 脚本,它需要每 15 分钟(900 秒)做一些常规工作(从数据库中删除一个元组)。这需要一遍又一遍地完成。因此,我使用 set_time_limit(0) 来防止 PHP 超时。该应用程序在第一次迭代中运行良好,然后因为服务器不允许脚本运行超过 1000 秒而被淘汰。我构想了一种解决方法,但不确定如何实际编写它。除了睡眠 900 秒之外,我需要一个脚本来做很少的事情——这不是问题。然后我需要它来启动工作程序,而睡眠程序需要结束。工作程序会做它的事(几秒钟)。然后它需要再次启动睡眠程序,工作程序需要结束。那样,没有脚本运行超过 1000 秒(在一次迭代中)。我试过使用包含、标题和其他一些东西,但到目前为止还没有运气。鉴于此应用程序对我的工作有多重要,我非常感谢您的帮助 - 有什么想法吗?

4

2 回答 2

0

您是否知道可以从命令行运行 PHP 脚本,而无需浏览器等待页面?如果您从那里运行该脚本而不是作为 CGI 运行,则它不会低于 1000 秒的限制。它甚至可以每 15 分钟被 cron 调用来完成它的工作。

于 2012-05-23T05:28:43.683 回答
0

好吧 - 我自己想通了。这是一个示例代码:

链测试:

<html>
<body onload="form1.submit()">
<form id="form1" action="chaintest2.php" method="post">
</form>
<?php
print"Begun";
sleep(5);
?>
</body>
</html>

链测试2:

<html>
<body onload="form1.submit()">
<form id="form1" action="chaintest.php" method="post">
</form>
<?php
print"PHP excecuted";
sleep(5);
?>

这段代码将不断来回弹跳(打印开始并执行 PHP)。它永远不会通过 PHP 或服务器超时。

于 2012-05-25T19:02:40.253 回答