有什么方法可以使用 cron 在托管 Web 服务器上自动运行 PHP 脚本吗?
-
05-07-2019 - |
题
我有一个每天发送短信警报的脚本。我希望它通过从数据库获取消息来自动发送短信。我可以在没有 cron 的情况下完成它吗?还有其他解决办法吗。请帮忙
解决方案
您可以使用 webcron 服务来触发您的脚本。
其他提示
有一个外部的 AppEngine cron 职位调查员:使用谷歌 AppEngine ,它是免费。外部“任务”然后可以“回调”你的PHP脚本。
我无法看到您的计算机上使用本地 cron
有什么问题,但一边阻止您访问。
简单来说,如果不使用某种调度程序或cron,就无法运行php脚本......
您有几个选择:
模拟 cron 行为:在您的 php 代码中,检查页面是否已在或接近您希望安排发送的时间加载,如果消息尚未发送,则加载在后台发送消息的脚本并将其标记为已发送。
正如其他人所建议的,在其他地方设置一个 cronjob,它将通过 http 获取 url(例如使用 wget)在您的服务器上执行脚本
在别处设置cron任务,让它请求发送警报的脚本。
您可以包含您的脚本,并在每次访问您的主页/登录页面等时运行它... 在mysql中设置一个名为time的表。 每次访问页面时查询数据库。 if(time argument){在后台运行脚本,更新DB中的新时间}
您所需要做的就是确定您希望发送短信电子邮件的频率。 防爆。 每天1次 数据库行“时间”有一个日期。可以说24小时前的日期。 如果db行“time”,是小于或等于今天减去一天1天,然后运行你的脚本。这将每天运行一次脚本。
退回 - >有人需要每天至少访问一次您的网站。
您的网站网址是什么?你在做什么?
使用第三方网络漫画,如 easycron.com 。
如果您无法在服务器上设置cron作业,请在您有权访问的客户端(例如您的计算机)上执行此操作,以便在您需要运行脚本时执行请求。
这不是最佳选择,但如果不使用任何类型的调度程序,您可以做的就是这个。
- 为每个页面设置头文件。
- 在头文件中放置您想要运行的函数/过程。
- 制作一个if语句,检查时间是否大于或等于您需要运行程序的时间以及尚未运行的时间。 醇>
- 没有保证服务时间。
- 如果您的网站没有获得点击,那么它可能会完全错过该窗口。
- 您向页面添加至少3个函数调用,更不用说检查此进程是否已完成所需的函数调用,可能包括调用MySQL服务器或平面文件...... 醇>
这方面的缺点是:
我已经使用Windows任务计划程序在我之前无法访问cron的服务器上安排脚本,但运行正常。
这不是最佳答案,因为它仍然需要cron 某处,但您可以随时设置另一台具有cron的计算机(例如家用计算机)来点击您网站上的页面触发动作(使用像 curl
或 wget
这样的库)。