Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php错误,cron作业每天发送两次电子邮件_Php_Cron - Fatal编程技术网

php错误,cron作业每天发送两次电子邮件

php错误,cron作业每天发送两次电子邮件,php,cron,Php,Cron,我是PHP的新手,我创建了一个cron作业,在cPanel中每天发送两次邮件: Minute Hour Day Month Weekday Command 0 0,12 * * * /home/user/public_html/cronjob/send-mail.php send-mail.php <?php $to = "john@domain.com"; $sender = "s

我是PHP的新手,我创建了一个cron作业,在cPanel中每天发送两次邮件:

Minute  Hour    Day     Month   Weekday     Command
  0     0,12    *       *       *           /home/user/public_html/cronjob/send-mail.php
send-mail.php

<?php
$to       = "john@domain.com";
$sender   = "sender@domain.com";
$subject  = "TEST CRONJOB";
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=ISO-8859-1\r\n";
$headers .= "Bcc: ".strip_tags($sender)."\r\n";
$headers .= "From: Domain.com <".strip_tags($sender).">\r\n";
$html     = "<html>
                <body style='font-family:arial;'>
                    <p>Have a good day!<br>Test email sent twice per day.</p>
                </body>
            </html>";

mail($to, $subject, $html, $headers);
?>

我只需运行脚本即可发送电子邮件,但在cron中无法发送电子邮件。

将cron选项卡内容替换为:

#Minute  Hour    Day     Month   Weekday     Command
  0     0,12    *       *       *           /usr/bin/php /home/user/public_html/cronjob/send-mail.php

请注意,您的
send mail.php
中使用的路径可能需要更改为绝对路径。

当您从shell执行时,它工作正常,因为系统知道您正在执行(通过./),但cron不知道这一点;因此,明确地告诉它使用php执行该文件

因此,在crontab中,替换

/home/user/public_html/cronjob/send-mail.php


错误不是来自您的脚本。e、 g脚本中没有
strip_tags()
。此外,最好使用邮件库发送电子邮件,如PHPMailer或SwiftMailer@Raptor嗯…确切的错误是什么?我看到你修改了密码。cron作业应该使用PHP来运行PHP文件,而不是运行PHP文件本身。e、 g.
/usr/bin/php/path/to/your/script.php
是否使用php运行php文件?你能详细说明一下吗?
/home/user/public_html/cronjob/send-mail.php
php -f /home/user/public_html/cronjob/send-mail.php