一段时间后让PHP脚本调用自己

时间:2015-06-03 15:49:31

标签: php rest curl wget

我的主机有一些限制,我的脚本运行时间不能超过2或3秒。但随着数据库变大,完成所需的时间肯定会增加。

所以我考虑让脚本停止它正在做的事情,并在2秒后调用自己,例如。

首先,我尝试使用cURL,然后我使用wget进行了一些尝试。但是等待响应和超时总是存在问题(例如,使用cURL,我只需要ping脚本,而不是等待响应)或服务器的权限(我们用来运行的函数{{1}似乎在我的服务器上禁用了wget,或类似的东西。)

您认为让PHP脚本ping /调用自己的最佳想法是什么?

2 个答案:

答案 0 :(得分:0)

在Unix / LInux系统上,我个人建议安排 <script type="text/javascript"> function setCookie(key, value) { var expires = new Date(); expires.setTime(expires.getTime() + (value * 24 * 60 * 60 * 1000)); document.cookie = key + '=' + value + ';expires=' + expires.toUTCString(); } function getCookie(key) { var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)'); return keyValue ? keyValue[2] : null; } </script> 以一定的时间间隔继续运行脚本

可能是这样的,Link会帮助你

答案 1 :(得分:0)

Php脚本一般不会调用其他php脚本。 可能如图here所示产生后台进程,但我不认为这就是你所追求的。如果,那么您最好使用cron,如上所述。

使用相同的脚本每隔X秒调用一个函数当然是可能的,但这与您想要的相反,因为它只会延长相关脚本的运行时间。

你似乎要问的是,与你的评论相反,有点自相矛盾。每隔一段时间调用method()的进程仍然是一个长时间运行的进程,并且受到与服务器上任何其他进程相同的限制,无论它是否可能在短时间内处于空闲状态。

据我所知,你的选择是:

  • 扩展php max_execution_time指令,或者如果他们愿意,让你的系统管理员这样做
  • 修改您的脚本,使其在时限内完成
  • 转到新服务器