【问题标题】:cron info sent a weird emailcron info 发送了一封奇怪的电子邮件
【发布时间】:2009-10-29 19:25:38
【问题描述】:

我从我的服务器的 cron 信息中收到了这封电子邮件。

"`client_errors' 在共享对象中有不同的大小,请考虑重新链接"

这是什么?

这个 cron 作业只是一个简单的电子邮件脚本

这是脚本

include("../admin/connect.php"); 
require("../class.phpmailer.php");

$from = "Me@me.com";
$fromname = "Me";

    $mail = new PHPMailer(true); //New instance, with exceptions enabled
$mail->IsSMTP();                           // tell the class to use SMTP
    $mail->SMTPAuth   = true;                  // enable SMTP authentication
    $mail->Port       = 587;                    // set the SMTP server port
    $mail->Host       = "smtp.gmail.com"; // SMTP server
    $mail->Username   = "********";     // SMTP server username
    $mail->Password   = "********";            // SMTP server password
    $mail->SMTPSecure = "tls"; // sets the prefix to the server
    $mail->IsSendmail();  // tell the class to use Sendmail


    $mail->From       = $from;
    $mail->FromName   = $fromname;

    $mail->Subject  = "Hi";

$edate = date("Y-m-d");
$query  = "SELECT * FROM `set` WHERE expire = '$edate'";
$result = MYSQL_QUERY($query);

while ($row = mysql_fetch_array ($result))
{

    $body .= "<pr>Hello<br /><br />";
$body .= "Hope everything is ok,<br />";

    $text_body  = "To view the message, please use an HTML compatible email viewer!";

    $mail->Body    = $body;
    $mail->AltBody = $text_body;
    $mail->AddAddress($row['email']);


    $mail->Send();
    $mail->ClearAddresses();

}

谢谢

【问题讨论】:

    标签: php email cron


    【解决方案1】:

    你正在运行的东西期望一个变量(可能是结构或数组)具有特定的大小 N。不幸的是,提供该变量值的共享库具有不同的大小 M。“重新链接”的请求是也许有点天真;这可能意味着使用新的头文件等重新编译和重新链接。

    因此,您的脚本中使用的某些程序需要重新构建。


    根据修改后的问题:

    我认为这可能是个问题。需要担心的一件事是cron运行的PHP是否具有正确的环境-cron没有设置很多环境。它可能正在执行一个 PHP 但试图从另一个 PHP 加载一个库,或者类似的奇怪的东西。

    对于运行 cron 作业,我的标准建议始终是运行一个 shell 脚本,如果需要,它会在运行“真正的”任务之前设置环境。这也使得调试更容易。

    {
    ...environment setting...
    env   # debug only
    pwd   # debug only
    date  # debug only
    ...exec the real program...
    } >/tmp/log.$$ 2>&1
    

    【讨论】:

    • 我用我运行的脚本编辑了我的问题。你觉得这有什么问题吗?谢谢
    • @Ahmet vardar,当您通过 cli 或 apache 运行脚本时会发生什么......只是没有 cron 位的脚本。
    • 谢谢乔纳森,@Ronald,它在没有 cron 的情况下正常工作。真的很奇怪:S
    • @Ahmet:当某些东西在没有 cron 的情况下正常工作而在 cron 的情况下异常工作时,由于环境的差异,答案可能是 100 次中的 99 次。因此上面的例子。如有必要,您可以进行不同的调试重定向 - 例如,捕获如图所示的调试信息,但在 '{ ... }' I/O 重定向之外执行命令。
    猜你喜欢
    • 2016-09-13
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 2017-07-08
    • 1970-01-01
    相关资源
    最近更新 更多