我怎样才能在社交引擎中使用cron作业?

时间:2010-03-19 05:18:18

标签: php smarty

我是新手中的cron作业,基本上我想在一段时间内向用户发送电子邮件。我想每天,每周,每月,每季度,每年或特定天数发送电子邮件。

在smarty模板中,我想使用这种类型的功能 任何人都可以知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

CRON基于服务器。您无法在PHP中运行CRON作业。您实际上已在服务器上运行它。如果您有共享托管或其他东西,通常可以通过管理控制面板或类似的东西设置CRON作业。

答案 1 :(得分:0)

可以从PHP写入webserver用户的crontab,具体取决于安全配置。

$job = "* * * * * /bin/ls";
$p = popen("crontab -", "w");
$return = fwrite($p, $job, strlen($job));
pclose($p);

这将删除现有crontab的内容。您可以先阅读现有的工作:

$p = popen("crontab -l", "r");
while ($crontab[] = fgets($p)) { /* ... */ }
pclose($p);

然后根据需要进行修改。您希望代码为idempotent,这样您就可以多次运行代码而无需担心会发生什么。

请注意,您的主机可能不允许您执行此操作,即使这样做,也可能不是一个好主意。正如@Foo所说,最好的方法是直接与cron交谈。获取一个shell会话并运行crontab -e,或者查看您可以使用任何Web界面执行的操作。