如何每隔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
答案 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
除了名称之外,我真的一无所知,所以我不知道这是否可以满足您的要求,但这是唯一的让客户定期轮询服务器的方法。