有没有办法在没有cron的托管Web服务器上自动运行PHP脚本?

时间:2009-11-26 13:20:04

标签: php html cron scheduled-tasks

我有一个脚本每天发送短信警报。我希望它通过从数据库中获取消息来自动发送短信。没有cron我可以做到吗还有其他解决方案。 Plz帮助

11 个答案:

答案 0 :(得分:7)

拥有一名外部 AppEngine cron职位:使用Google AppEngine 免费。然后,外部“任务”可以“回调”您的PHP脚本。

我无法看到您的计算机上使用本地cron有什么问题,但一边会阻止您访问它。

答案 1 :(得分:3)

简单来说,如果不使用某种调度程序或cron,就无法运行php脚本......

答案 2 :(得分:3)

您可以使用webcron服务来触发您的脚本。

答案 3 :(得分:2)

您有几个选择:

  • 模拟cron行为:在你的php代码中,检查页面是否在你希望安排发送的时间或者接近时加载,如果还没有发送消息,请加载发送的脚本背景中的消息并将其标记为已发送。

  • 正如其他人所建议的那样,在其他地方设置一个cronjob,它将通过http(例如使用wget)获取url来执行服务器上的脚本

答案 4 :(得分:1)

在别处设置cron任务,让它请求发送警报的脚本。

答案 5 :(得分:1)

您可以包含您的脚本,并在每次访问您的主页/登录页面等时运行它... 在mysql中设置一个名为time的表。 每次访问页面时查询数据库。 if(time argument){在后台运行脚本,更新DB中的新时间}

您所需要做的就是确定您希望发送短信电子邮件的频率。 防爆。 每天1次 数据库行“time”中有一个日期。可以说24小时前的日期。 如果db行“time”小于或等于今天减去一天1天,则运行脚本。这将每天运行一次脚本。

退回 - >有人需要每天至少访问一次您的网站。

您的网站网址是什么?你在做什么?

答案 6 :(得分:1)

使用第三方网络漫画,例如easycron.com

答案 7 :(得分:0)

如果您无法在服务器上设置cron作业,请在您有权访问的客户端(例如您的计算机)上执行此操作,以便在您需要运行脚本时执行请求。

答案 8 :(得分:0)

这不是最佳答案,因为它仍然需要cron 某处,但您可以随时设置另一台具有cron的计算机(例如家用计算机)来点击您网站上的页面触发操作(使用curlwget等库。)

答案 9 :(得分:0)

这不是最佳选择,但如果不使用任何类型的调度程序,您可以做的就是这个。

  1. 为每个页面设置头文件。
  2. 在头文件中放置您想要运行的函数/过程。
  3. 制作一个if语句,检查时间是否大于或等于您需要运行程序的时间以及尚未运行的时间。
  4. 这方面的缺点是:

    1. 没有保证服务时间。
    2. 如果您的网站没有获得点击,那么它可能会完全错过该窗口。
    3. 您向页面添加至少3个函数调用,更不用说检查此进程是否已完成所需的函数调用,可能包括调用MySQL服务器或平面文件......

答案 10 :(得分:0)

我已经使用Windows任务计划程序在我之前无法访问cron的服务器上安排脚本,但运行正常。