【问题标题】:Execute php script at particular time (time will be fetched from database)在特定时间执行 php 脚本(时间将从数据库中获取)
【发布时间】:2012-09-11 17:30:52
【问题描述】:

我有这样的数据库结构。

CREATE TABLE IF NOT EXISTS `addreminde` (
  `SMSId` int(11) NOT NULL AUTO_INCREMENT,
  `UserId` int(11) NOT NULL,
  `SendFrom` varchar(20) NOT NULL,
  `SendTo` varchar(400) NOT NULL,
  `Message` varchar(400) NOT NULL,
  `ReminderTime` datetime NOT NULL,
  `Status` varchar(400) DEFAULT NULL,
  `datetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`SMSId`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=15;

所以我将 ReminderTime 存储在数据库中。

现在想知道我如何在“ReminderTime”发送电子邮件或(比如说执行 php 脚本)到“SendTo”

任何帮助将不胜感激。

【问题讨论】:

  • 我已经......但是想想如果我每秒钟都需要发送一封电子邮件,那么我的服务器会很忙......除了 cron 任何其他解决方案......
  • 那么你必须使用 ajax 和 setinterval() 来检查存储在数据库中的时间
  • 您可以在正确的时间以编程方式创建 cron 作业,stackoverflow.com/a/5135390/1130734

标签: php mysql


【解决方案1】:

这不能在 PHP 中完成。 PHP 仅在用户向网络服务器发出请求时才“生效”。

如前所述,cron 作业是可行的方法。每分钟查询一次并发送一些电子邮件不会对您的服务器造成很大的负担。

【讨论】:

  • ok 意味着我可以在 10 分钟内获取需要发送多少电子邮件,然后在 10 分钟后运行另一个 cron 作业。如果中间有任何请求,我将直接将其交给处理..
猜你喜欢
  • 2010-12-31
  • 1970-01-01
  • 1970-01-01
  • 2018-07-09
  • 1970-01-01
  • 2011-07-24
  • 1970-01-01
  • 2018-10-27
  • 2013-03-23
相关资源
最近更新 更多