Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
定期执行PHP文件_Php_Scripting_Crontab - Fatal编程技术网

定期执行PHP文件

定期执行PHP文件,php,scripting,crontab,Php,Scripting,Crontab,问题很简单,我想每N分钟执行几个php文件。例如: 每N分钟 { 执行(script1.php) 执行(script2.php) 执行(script3.php) } 我知道crontab,但我正试图找到另一个解决方案。有什么建议吗?提前感谢。在windows上,我使用了名为任务调度器的内置程序。对于linux,是的,cron jobs是您的答案。您可以创建一个php脚本,每N分钟循环一次dox,并使用&运行命令,使其成为后台进程 /path/to/php/home/user/bgscript.p

问题很简单,我想每N分钟执行几个php文件。例如:

每N分钟 { 执行(script1.php) 执行(script2.php) 执行(script3.php) }


我知道crontab,但我正试图找到另一个解决方案。有什么建议吗?提前感谢。

在windows上,我使用了名为任务调度器的内置程序。对于linux,是的,cron jobs是您的答案。

您可以创建一个php脚本,每N分钟循环一次dox,并使用&运行命令,使其成为后台进程

/path/to/php/home/user/bgscript.php&

如果您希望它始终运行,则必须将其添加到startup init.d或服务中,具体取决于*nix的风格


这个解决方案是可能的,但就我个人而言,我强烈建议使用crontab,它已经建立、验证并运行良好!为什么要避免它?

您可以构建一个脚本,让它作为守护进程运行,并在设定的时间间隔内执行某些任务,但实际上这只是模拟cron。。。如果您能够将php脚本作为守护进程运行,那么您也应该能够将其作为cronjob运行,因为cron就是为它而设计的


如果您需要有关如何作为守护进程运行php脚本的更多信息。守护进程和cron之间也有一个很好的比较,值得一读。

使用cron作业是常见的解决方案。你能解释一下为什么不想使用CRON吗?我还看到一些库向系统中添加了类似cron的特性。例如,在Java/Groovy/Grails世界中有Quartz库/插件。快速的Google搜索产生了一个名为phpJobScheduler的PHP库,它看起来类似于Quartz。我从未使用过phpJobScheduler,所以我不能担保它


我想知道你为什么不想用crontab来做这个?您将成为运行此服务器的主要web操作人员,还是依赖现有的sysop团队?您可能希望获得他们的意见,因为他们是受您选择的方法影响最大的人。我发现他们倾向于使用cron进行简单的调度。

crontab是最好的解决方案。PHP中没有线程,因为您不能启动一个线程并说每N秒运行一次。crontab有什么问题?再次投票支持cron,如果你因为某种原因不能使用它,还有其他商业自动化解决方案。避免使用crontab的主要原因是我现在对它一无所知,我只是觉得在PHP中更容易。无论如何,非常感谢您的回答,我将尝试使用crontab。顺便说一句,在托管服务器中使用crontab是可能的,还是取决于您的托管公司?这取决于您的主机和托管软件包,它们对您的服务器都有不同级别的访问权限。使用标准界面(或通过许多控制面板)管理多个cron作业可能成为管理员的噩梦。它的安装要容易得多:这样你就可以在几秒钟内轻松地查看和编辑任务页面(但我认为这是我的开源应用程序)。