如何每5分钟运行一次php文件

时间:2019-06-11 23:07:20

标签: php file cron

如何每隔5分钟左右运行一个PHP文件?我尝试使用cron,但似乎没有用。说我想让我的网站运行一个播放声音的php文件。我如何做到使php文件每5分钟运行一次,以便每5分钟播放一次声音。我知道JavaScript可以做到这一点,因此该函数可以按设定的间隔运行,但是我希望文件也这样做。

这样做的原因是我正在创建一个网站,并且希望实时通知用户。为此,我需要运行php文件,以便它可以检测用户通知的更改,然后在用户收到新通知时发出噪音。 如果需要更多信息,我可以提供。

编辑:

这就是我用来尝试运行cron localhost Run Cron Job on PHP Script, on localhost in Windows

的方法

我的script.bat文件 "C:\Xammp\php\php.exe" -f "C:\Xammp\htdocs\SocialMedia\Admin\Users\Notification.php"

还有我的shellscript.vbs文件

Set WinScriptHost = CreateObject("WScript.Shell") WinScriptHost.Run Chr(34) & "C:\Xammp\htdocs\SocialMedia\Site\script.bat" & Chr(34), 0 Set WinScriptHost = Nothing

我已经按照他们在该帖子中所说的进行了操作,但是我的网络控制台日志中没有看到任何更改。它应该显示文件每隔X分钟运行一次,但没有

编辑: 尽管我的问题尚未完全回答,但我在此站点找到了答案。 https://web-push-book.gauntface.com/chapter-01/02-how-push-works/ 谢谢!

编辑-这是我的问题的答案-https://developer.hyvor.com/php/ajax-long-polling

2 个答案:

答案 0 :(得分:0)

要在Windows中创建调度程序,您需要: 在服务器或系统上创建.bat文件; 在您的.bat文件中键入以下命令:

“F:\xampp\php\php.exe” -f “F:/xampp/htdocs/sitefolder/test.php”;

在Windows的任务计划程序中设置计划程序时间和文件。

祝你好运

答案 1 :(得分:0)

在linux中运行cron作业或在Windows中运行任务计划程序将无法完成您想要的工作。那不是技术运作的方式。客户问问题,服务器回复,故事结束。为了说明这一点,您的cron工作如何知道应该更新谁?没有,也没有。

在典型的网站场景中,我唯一想到的方法是让您的客户端通过ajax不断轮询服务器以获取更新。如果您的听众不多,这可能会起作用。但这并不能很好地扩展。

还有另一种可能对您有用的技术: 网络推送通知

但是,我怀疑与使用此概念相关的学习曲线很大。快速搜索显示了一些您要调查的页面:

https://serviceworke.rs/push-get-payload_demo.html

https://github.com/web-push-libs/web-push-php

除了名称之外,我真的一无所知,所以我不知道这是否可以满足您的要求,但这是唯一的让客户定期轮询服务器的方法。