Bonjour,
Voila j'ai un site hébergé pas 1and1 sur un serveur linux.
J'ai suivi les explications de 1and 1 pour créer une tache cron : https://help.1and1.com/hosting-c376 [...] 95882.html
J'ai tout réussi jusqu’à la fin et tout fonctionne, mais voilà mon problème, lorsque que je change le script de base donnée dans l'exemple ci deussus par ce script
Code :
- <?php
- try
- {
- $bdd = new PDO('mysql:exemple;dbname=exemple', 'exemple', 'exemple');
- }
- catch (Exception $e)
- {
- die('Erreur : ' . $e->getMessage());
- }
- function envoieMailRappelProf($exemple)
- {
- $expediteur="exemple";
- $expediteurMail="exemple";
- global $bdd;
- $req=$bdd->query("SELECT * FROM EXEMPLE WHERE id=".$exemple);
- $profDonnees=$req->fetchALl();
- foreach( $profDonnees as $unProf)
- {
- $emailProf=$unProf['email'];
- $nomProf=$unProf['nom'];
- $prenomProf=$unProf['prenom'];
- }
- $contenuMail="exemple";
- $mail =$emailProf;
- if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail))
- {
- $passage_ligne = "\r\n";
- }
- else
- {
- $passage_ligne = "\n";
- }
- $message_txt = $contenuMail;
- $message_html = "<html><head></head><body>".$contenuMail."</body></html>";
- $boundary = "-----=".md5(rand());
- $sujet = "exemple";
- $header = "From: \"".$expediteur."\"<".$expediteurMail.">".$passage_ligne;
- $header.= "Reply-to: \"".$expediteur."\" <".$expediteurMail.">".$passage_ligne;
- $header.= "MIME-Version: 1.0".$passage_ligne;
- $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
- $message = $passage_ligne."--".$boundary.$passage_ligne;
- $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
- $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
- $message.= $passage_ligne.$message_txt.$passage_ligne;
- $message.= $passage_ligne."--".$boundary.$passage_ligne;
- $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
- $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
- $message.= $passage_ligne.$message_html.$passage_ligne;
- $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
- $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
- mail($mail,$sujet,$message,$header);
- }
- $listProf=$bdd->query("SELECT * FROM EXEMPLE" );
- $listProfD=$listProf->fetchAll();
- foreach($listProfD as $aProf)
- {
- envoieMailRappelProf($aProf['id']);
- }
- ?>
|
Si j’exécute le script à la main en saisissant L’URL dans un navigateur tout marche bien.
mais dans cron j'ai essayé les deux façons suivantes mais aucune ne marche
0 1 * * 6 /usr/bin/php /exemple/exemple/exemple/exemple/monscript.php
0 1 * * 6 WGET -q http://monsite.com/monscript.php
Pour info j'ai essayé de modifié monscript.php via nano monscript.php ,par le script exemple donné par 1and1 et cela fonctionne.
Je pense donc que le problème vient du script en lui même mais je ne comprends pas pourquoi puisque le script fonctionne normalement lorsqu'il est lancé à la main.
Si quelqu'un a une idée, par avance merci
Message édité par bupbup le 14-09-2014 à 11:03:11