2009-10-29 4 views
0

J'ai reçu cet email de cron info de mon serveur.cron info envoyé un email bizarre

"` client_errors' a la taille différente en objet partagé, envisager un nouveau lien"

ce qui est-ce?

cette tâche cron est un script simple e-mail

c'est le script

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

$from = "[email protected]"; 
$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(); 

} 

grâce

Répondre

0

Quelque chose que vous utilisez attend une variable (la structure ou un tableau, probablement) d'avoir un taille particulière N. Malheureusement, la bibliothèque partagée fournissant la valeur de cette variable a une taille différente M. La demande de «re-link» est peut-être un peu naïve; cela signifie probablement recompiler et relier en utilisant les nouveaux en-têtes, etc.

Ainsi, certains programmes utilisés dans votre script doivent être reconstruits.


À la lumière de la question modifiée:

Je pense qu'il pourrait être un problème. Une chose à se soucier est de savoir si le PHP qui est exécuté par cron a l'environnement correct - cron ne définit pas beaucoup d'environnement. Il pourrait être l'exécution d'un PHP, mais en essayant de charger une bibliothèque d'un autre, ou quelque chose de bizarre comme ça.

Mon conseil standard pour l'exécution de tâches cron est toujours d'exécuter un script shell, qui définit l'environnement si nécessaire avant d'exécuter la tâche 'real'. Cela facilite également le débogage.

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

i modifié ma question avec le script que je cours. Y at-il un problème dans ce que vous pensez? thx –

+0

@Ahmet vardar, que se passe-t-il lorsque vous exécutez le script via cli ou apache ... juste le script sans le cron bit. –

+0

thx Jonathan, @Ronald, ça marche normalement sans cron. c'est vraiment bizarre: S –

Questions connexes