我正在尝试创建一个脚本来安排在特定日期发送电子邮件的cron作业。我跟着this tutorial创建了一个php cron管理器,它没有问题。但当我尝试与脚本建立SSH连接只是为了查看它是否会引发任何错误时,页面停止加载我放置代码的地方,没有显示错误并且没有在任何地方创建error_log文件,我真的不喜欢'了解页面停止加载的原因。
$crontab = new Ssh2_crontab_manager('xxxxxxxxxxx.xxx', '22', 'xxxxxxx', 'xxxxxxxxxxx');
我只希望它连接并继续页面,或者它至少给我一个错误,我可以搜索解决方案
没什么,只是一个部分加载而且没有错误的页面,它只是停在那里。
答案 0 :(得分:1)
上面的方法完全超出了你想要做的事情。您有一个PHP脚本,您想要在一天中的某个时间间隔运行,每次向您的数据库中的人发送几封电子邮件。
显然我不知道您的数据库是什么样的,但这是一个基本概念。
LIMIT = 10
或
无论每次运行时只检索几个电子邮件地址,
使用WHERE sent = 0
仅检索您尚未发送的电子邮件地址
脚本运行后,每行UPDATE
到SET sent = 1
将这些用户标记为已经通过电子邮件发送。包括一些条件代码,以便在没有更多电子邮件的情况下
当天的地址WHERE sent = 0
然后脚本退出。
创建一个cron作业,以您选择的运行php的时间间隔运行 脚本,然后离开。
没有必要删除cron作业,如果没有要发送的电子邮件,它将只是短暂运行并退出。 cron工作的重点是自动执行重复性任务,你设置一次并忘记。过滤器非常灵活,可以让您在运行时获得很多控制权。
例如0 9-17/2 * * 1-5 php /path/to/script.php
将在星期一到星期五的0900到1700之间每隔一小时运行一次脚本