当我通过在终端
中编写以下行来测试它时,我的代码工作正常php email.php
我的电子邮件已发送,但在我将其作为CRONTAB运行后,它无效。 我的email.php文件代码是:
<?php
require("../includes/config2.php");
$list =query("SELECT email, LastName, FirstName, Day, Month FROM birthday WHERE ReminderDay LIKE ? AND ReminderMonth LIKE ?", date("j"),date("n"));
foreach ($list as $lis)
{
mail("{$lis['email']}",'Birthday reminder',"This is a reminder about coming birthday of {$lis['FirstName']} {$lis['LastName']} on {$lis['Day']}th day of {$lis['Month']}th month");
}
mail('laurynasgiriunas@gmail.com','Birthday reminder','6');
?>
当我在email.php文件中注释掉最后一封邮件(...)行之外的所有内容时,Crontab开始工作。 Crontab -l给出:
- / usr / bin / php /home/jharvard/vhosts/pset7/public/email.php
我不明白为什么它在调用“php email.php”时有效,但是不起作用然后通过Crontab打开文件
答案 0 :(得分:0)
正如评论中所述,问题在于我使用了相对路径而不是绝对路径