以设置的间隔转到url的PHP脚本

以设置的间隔转到url的PHP脚本,php,url,Php,Url,所以我很好奇这是否可能。是否可以让PHP脚本以设定的间隔(例如30分钟)转到url?Cron作业 是的,只需在30分钟内调用PHP脚本 另见我对另一个问题的回答: 延迟的Unix调用 还有另一个选项可以在Unix上使用,包括延迟调用外部脚本而不阻塞当前脚本。可能是这样的: exec('( sleep 1800; my_php_script.php) &> /dev/null &'); 尽管此解决方案的可用性取决于系统和安全模式设置。有关exec()函数的详细信息,请参阅。

所以我很好奇这是否可能。是否可以让PHP脚本以设定的间隔(例如30分钟)转到url?

Cron作业 是的,只需在30分钟内调用PHP脚本

另见我对另一个问题的回答:

延迟的Unix调用 还有另一个选项可以在Unix上使用,包括延迟调用外部脚本而不阻塞当前脚本。可能是这样的:

exec('( sleep 1800; my_php_script.php) &> /dev/null &');
尽管此解决方案的可用性取决于系统和安全模式设置。有关
exec()
函数的详细信息,请参阅。

阅读。我建议使用comand line的PHP解释器运行脚本,而不是使用
wget

,这当然是可能的(您可以使用暂停脚本执行一段时间,这样一个
while
循环完成某件事,然后休眠就可以了),但这种情况并不常见。一般来说,PHP和类似语言中的脚本不会无限期地运行;您还必须小心,不要超过脚本执行的时间限制(或用于禁用它)


大多数情况下,更适合使用cron作业(对于Linux)或计划任务(对于Windows)来安排您的程序每隔一段时间执行一次。

仅当您使用cron作业时。PHP脚本本身必须由用户调用。通过cron作业,php脚本将在给定的时间范围内调用


prggmr允许使用
setInterval
功能设置间隔

简单例子

setInterval(function(){
    echo "30 minutes passed";
, 60000 * 30);
注意:这仅在使用
prggmr
命令运行或在事件循环内运行时可用

文档中提供了更多信息


您可以设置一个点击url的脚本,并为其创建一个cron作业,使其每30分钟执行一次。什么?PHP脚本不必由用户调用,它们可以由其他脚本调用。为什么您认为调用PHP脚本只能作为用户操作或cron作业执行的结果?好的,对不起。事实上,它们可以被其他脚本调用,但在给定的时间段之后,它们无法调用自己。抱歉,有任何误解。关于
exec('(sleep 1800;my_php_script.php)&>/dev/null&')呢?它命令Unix系统在30分钟后调用
my_php_script.php
,但不等待系统实际调用脚本。这与“他们在一段时间后无法自称”相反。它们能够显式延迟调用自己,而不会阻塞当前脚本的执行(这可能导致脚本执行超时)。