Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
20 Sep 2006, 12:26
Message
#1
|
|
|
Ceinture blanche+ OSC Groupe : Membres Messages : 22 Inscrit : 16-September 04 Membre no 3279 |
Bonjour,
j'ai le pb suivant qd j'essaie d'envoyer une newsletter via l'admin : ------------------------------------------------------------------- 2013 - Lost connection to MySQL server during query update newsletters set date_sent = now(), status = '1' where newsletters_id = '2' [TEP STOP] 2006 - MySQL server has gone away select count(*) as total from sessions where sesskey = '10ce778ccf002d81f7d9085452d0df6d' [TEP STOP] Gestionnaire de bulletin d'informations Merci de patienter .. envois en cours .. Merci de ne pas interrompre ce traitement ! ------------------------------------------------------------------- => je reste tjrs sur cette page avec cette belle image de valise qui s'ouvre merci d'avance pour votre aide -------------------- Fredox
version : 2.2-MS2 Delaballe hébergeur : ovh |
|
|
20 Sep 2006, 21:06
Message
#2
|
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
Les destinataires sont ils nombreux ?
|
|
|
20 Sep 2006, 22:22
Message
#3
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9130 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
CITATION 2006 - MySQL server has gone away Moi j'aime bien quand les messages d'erreur sont limite parlé : "le serveur MySQL s'est barré !" Bon cela mis à part, si le serveur s'est barré, c'est qu'il a peut-être jugé que le boulot était trop dur... (mal payé ? non je rigole encore...) La question de Fissiaux est donc pertinente! -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
21 Sep 2006, 18:46
Message
#4
|
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
CITATION La question de Fissiaux est donc pertinente! Ouf !!!! J'étais inquiet.... |
|
|
22 Sep 2006, 08:41
Message
#5
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 470 Inscrit : 25-November 04 Membre no 3912 |
salut,
même erreur sur 503 destinataires.... serveur OVH... Des idées ??? apparement il faudrait changer une variable de mysql, mais je ne crois pas que ce soit faisable sous ovh mut. Note : seuls les premiers destinataires l'aurait recu. Une idée ? voici le script : CODE <?php
/* $Id: newsletter.php,v 1.1 2002/03/08 18:38:18 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License */ // ################# Contribution Newsletter v050 ############## class newsletter_subscribers { var $show_choose_audience, $newsletters_id, $module_subscribers, $title, $header, $contenta, $unsubscribea, $unsubscribeb; function newsletter_subscribers($newsletters_id, $module_subscribers, $title, $header, $contenta, $unsubscribea, $unsubscribeb) { $this->show_choose_audience = false; $this->newsletters_id = $newsletters_id; $this->module_subscribers = $module_subscribers; $this->title = $title; $this->header = $header; $this->contenta = $contenta; $this->unsubscribea = $unsubscribea; $this->unsubscribeb = $unsubscribeb; } // ################# END - Contribution Newsletter v050 ############## function choose_audience() { return false; } function confirm() { global $HTTP_GET_VARS; $mail_query = tep_db_query("select count(*) as count from " . TABLE_SUBSCRIBERS . " where customers_newsletter = '1' and subscribers_blacklist = '0' "); $mail = tep_db_fetch_array($mail_query); // ################# Contribution Newsletter v050 ############## $confirm_string = '<table border="0" cellspacing="0" cellpadding="2">' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main"><font color="#ff0000"><b>' . tep_draw_separator('pixel_trans.gif', '20', '1') . TEXT_TITRE_INFO . '</b></font></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main">' . sprintf(TEXT_COUNT_CUSTOMERS, $mail['count']) . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main">' . TEXT_BULLETIN_NUMB . " " . '<font color="#0000ff">' . $this->newsletters_id . '</font></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main">' . TEXT_MODULE . " " . '<font color="#0000ff">' . $this->module_subscribers . '</font></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main">' . TEXT_TITRE_MAIL . " " . '<font color="#0000ff">' . $this->title . '</font></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main"><font color="#ff0000"><b>' . tep_draw_separator('pixel_trans.gif', '20', '1') . TEXT_TITRE_VIEW . '</b></font></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main"><tt>' . $this->header . '</tt></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main"><tt>' . $this->contenta . '</tt></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main"><tt>' . $this->unsubscribea . '</tt></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main"><tt>' . $this->unsubscribeb . '</tt></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td align="right"><a href="' . tep_href_link(FILENAME_NEWSLETTERS, 'page=' . $HTTP_GET_VARS['page'] . '&nID=' . $HTTP_GET_VARS['nID'] . '&action=confirm_send') . '">' . tep_image_button('button_send.gif', IMAGE_SEND) . '</a> <a href="' . tep_href_link(FILENAME_NEWSLETTERS, 'page=' . $HTTP_GET_VARS['page'] . '&nID=' . $HTTP_GET_VARS['nID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a></td>' . "\n" . ' </tr>' . "\n" . '</table>'; // ################# END - Contribution Newsletter v050 ############## return $confirm_string; } // ################# Contribution Newsletter v050 ############## function send($newsletter_id) { $mail_query = tep_db_query("select subscribers_firstname, subscribers_lastname, subscribers_email_address from " . TABLE_SUBSCRIBERS . " where customers_newsletter = '1' and subscribers_blacklist = '0' "); while ($mail = tep_db_fetch_array($mail_query)) { $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer')); // Préparation de l'envoie du mail en HTML $mimemessage->add_html_newsletter($this->header . "\n\n" . $this->contenta /*. "\n\n" . $this->unsubscribea . " " . '<a href="' . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_NEWSLETTERS_UNSUBSCRIBE . "?action=view&email=" . $mail['subscribers_email_address'] . '">' . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_NEWSLETTERS_UNSUBSCRIBE . "?action=view&email=" . $mail['subscribers_email_address'] . '</a>' . "\n\n" . $this->unsubscribeb*/); $mimemessage->build_message(); // ################# END - Contribution Newsletter v050 ############## $mimemessage->send('', $mail['subscribers_email_address'], '', EMAIL_FROM, $this->title); } $newsletter_id = tep_db_prepare_input($newsletter_id); tep_db_query("update " . TABLE_NEWSLETTERS . " set date_sent = now(), status = '1' where newsletters_id = '" . tep_db_input($newsletter_id) . "'"); } } ?> Ce message a été modifié par osgadou - 22 Sep 2006, 08:43. -------------------- MS2FR
|
|
|
22 Sep 2006, 19:09
Message
#6
|
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
Il y a quelque temps, certains parlaient d'une contribution nommée email_admin_cron et elle semblait pouvoir traiter des flux importants
|
|
|
10 Nov 2006, 11:02
Message
#7
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 69 Inscrit : 9-June 05 Lieu : Monaco Membre no 6155 |
Bonjour à tous,
moi aussi j'utilise la Contribution Newsletter v050 et j'envoie des newsletters à 750 voir 800 inscripts. C'est vrais que ell'est un peus lente mais tout part sans problèmes. Seulement, parfois, je n'arrive pas à la page de confirmation "TERMINE" car je pense que la session admin se termine avant. Mais quand je vérifie si tous les inscripts ont rèçu, ça a l'air ok. Ton problème n'est peut ètre que une déconnaiction de ton serveur (pour de raisons de sécurité) quand il y a une session trop longue ? -------------------- bien à vous,
SIMSONE Osc MS2.2.2 Fr 2005 powered. "Il ne faut pas faire aux autres ce qu'on aimerait pas qu'ils nous fassent" |
|
|
29 Mar 2010, 23:03
Message
#8
|
|
![]() Ceinture noire OSC Groupe : TechDev Messages : 2202 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonsoir !
Ceci est une exhumation ! Il m'arrive la même chose (Mysql est parti !) Cela arrive à la ligne : Code tep_db_query("update " . TABLE_NEWSLETTERS . " set date_sent = now(), status = '1' where newsletters_id = '" . tep_db_input($newsletter_id) . "'"); fin de la fonction send de la classe newsletters (dans module (?!) de l'admin) Bon, c'est après la boucle while d'envoi: tous les envois sont partis ! (j'ai 2 "pièges" dans ma liste) Mais je dois mettre now() et 1 à la main dans la base: çà n'est pas très propre ! Bref ! qui répondra à la question "pourquoi Mysql se casse ? " Qui l'a traité de pôvre c.. ? Ou bien dit-il "Avec ce que vous me donnez à faire, faut qu'j'y aille !" ? Ou a-t-on omis de lui dire: Finis ton taf avant de te casser ? et comment? Bref, la question est pendante, le clic sur envoi se termine mal, çà laisse un doute, on se croirait sous windows 3.1... Une idée ??? Chti poupon PS : il n'y a que quelques dizaines de messages, texte (2ko) Ce message a été modifié par chti_poupon - 29 Mar 2010, 23:07. |
|
|
30 Mar 2010, 08:26
Message
#9
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9130 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
Oui le message du serveur mysql est laconique
Genre claque la porte en partant. Bon, aucun rapport direct avec la newsletter, mais pour info j'ai rencontré ce message plusieurs fois alors que le serveur sql était vraiment à la traîne (chez OVH) Le site fonctionnait bien et un jour pendant quelques heures, le site ramait grave et en bas de page on trouvait ce type de message : MySQL server has gone away Tout est revenu à la normale au bout de quelques heures. En fait l'hébergeur devait des modifs sur le serveur SQL ou celui-ci a crashé et on s'est retrouvé sur la roue de secours pendant la réparation du disque... Ton problème ne serait pas de ce type ? (un problème réseau en fait) Car envoyer une dizaine de requêtes (boucle while) puis une requête de mise à jour, c'est pas non plus un travail de romain... -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
30 Mar 2010, 20:53
Message
#10
|
|
![]() Ceinture noire OSC Groupe : TechDev Messages : 2202 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonsoir !
Merci de ta réponse ! Mais n'y a-t-il pas moyen de temporiser ? Ce serait quand même plus intéressant ! Salutations ! Chti poupon PS N'as tu pas peur qu'un romain se plaigne en haut lieu ? |
|
|
30 Mar 2010, 21:08
Message
#11
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9130 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
Si, il est possible de temporiser. D'ailleurs une contribution fait cela Ultimate Html Emails.
les mails sont envoyés par paquet et le script est relancé par js. ça marche. Mais je ne sais pas si ça résoudra ton problème. Il n'est pas absolument nécessaire d'installer la totalité de la contrib (même si elle est plutôt sympa dans le résultat) mais juste de comparer et modifier les modules admin/newsletter je pense... Ha humour quand tu nous tiens! Non je ne pense pas que les romains viennent se plaindre vu que l'expression doit dater du début de l'ère chrétienne Ceux qui auraient voulu porter plainte ont été, empalés, crucifiés ou n'ont laissé que des crânes dans les ossuaires des catacombes romaines (ou un peu d'ADN, s'il on le retrouve, sur le sable des arènes...) -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
9 Aug 2010, 21:36
Message
#12
|
|
![]() Ceinture noire OSC Groupe : TechDev Messages : 2202 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonsoir ?
Je remonte ce sujet, car le problème subsiste en exploitation, mais pas en local. où tout se déroule "comme dans les livres". J'ai creusé un peu et trouvé ceci dans la bible php: Citation <h3 class="title"> Notes</h3> Avertissement Notez que set_time_limit() n'a pas d'effet lorsque PHP fonctionne en mode safe mode. Il n'y a pas d'autre solution que de changer de mode, ou de modifier la durée maximale d'exécution dans le php.ini. Note: La fonction set_time_limit() et la directive de configuration max_execution_time n'affectent que le temps d'exécution du script lui-même. Tout temps passé en dehors du script, comme un appel système utilisant system(), des opérations sur les flux, les requêtes sur base de données, etc. n'est pas pris en compte lors du calcul de la durée maximale d'exécution du script. Ceci est faux sous Windows où le temps mesuré est le temps réel. Ce qui explique la différence de comportement : en local, safe mode est à "off" et à "on" en distant Donc en distant tep_set_time_limit() est inutile, car, si set_time_limit(0) met la limite à l'infini, il est inactif en safe mode (c'est d'ailleurs écrit dans le code !!) Reste à mettre safe_mode à off en distant, sans nuire au reste ! Quelqu'un sait ?? Merci d'avance ! Chti poupon |
|
|
9 Aug 2010, 23:29
Message
#13
|
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1512 Inscrit : 3-June 09 Membre no 25501 |
Si tu es sur un hébergement mutualisé, tu peux aller te faire voir chez les grecs.
Et ne penses même pas à faire la modif SAFE_MODE par un fichier HTaccess. Résultat nul garanti. Une seule réponse : soit tu découpes le script, soit les requêtes. Solution déjà indiquée par le Génie ci-dessus. Si tu es sur un dédié, modification via le php.ini -------------------- |
|
|
10 Aug 2010, 08:10
Message
#14
|
|
![]() Ceinture noire OSC Groupe : TechDev Messages : 2202 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonjour !
Bonjour de chez les grecs ! Merci de ta réponse, et j'ai bien noté de découper en paquets et de relancer par javascript grâce à Ultimate Html Emails comme dit par le stylite de la Bastille. Mais, enfant de la programmation linéaire (FORTRAN), le javascript ne m'est pas "dans les tripes": je pratique volontiers procrastination et détour. Belle et bonne journée à toi ! Chti poupon PS safe_mode obsolète depuis le 5.3: bientôt le voyage en Grèce ne sera plus nécessaire... mais il y aura d'autres problèmes... PS' : Qui marquera [RESOLU] ? |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 19th June 2013 - 11:04 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |