Message d'avertissement

The subscription service is currently unavailable. Please try again later.

[Résolu] user warning: Got a packet bigger than 'max_allowed_packet' bytes query: UPDATE cache_menu

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Salut,

Depuis aujourd'hui (comme ça d'un coup), j'ai un message d'erreur lorsque je veux créer un type de contenu. Le message d'erreur apparait ensuite sur toutes les pages du site et je suis obligé de supprimer le type de contenu pour que le message disparaisse.

Voilà le message d'erreur (tronqué car il est énorme) : user warning: Got a packet bigger than 'max_allowed_packet' bytes query: UPDATE cache_menu SET data = ............./includes/cache.inc on line 109.

J'ai cherché sur le forum et j'ai testé les différentes solutions mais ça n'a rien changé : j'ai vidé le cache, déactivé le cache, supprimé les entrées dans la table "cache_menu"; le site étant hébergé chez OVH sur un serveur mutualisé je ne peux pas modifier le paramètre "max_allowed_paquet" (si j'ai bien compris).

Me voilà bien embêté ne sachant absolument pas quoi faire à part peut être créer moi même le type de contenu dans la DB avec un script perso.

Au passage, il y a un truc qui me fait quand même halluciner, à savoir pourquoi drupal envoi une requête sql de plusieurs centaines voir de milliers de lignes lors de la création d'un type de contenu, en plus dans la table "cache_menu" je vois vraiment pas l'utilité de cette requête, c'est délirant !!!

En espérant que quelqu'un volera à mon secours.

Merci d'avance.

a+

Calculer le menu est une opération complexe, c'est pourquoi Drupal tente de le faire le moins souvent possible en stockant le menu en cache. Le problème, c'est qu'un hébergeur mutualisé aura configuré une limite trop basse pour max_allowed_packet dans MySQL (souvent 1Mo seulement) et qu'avec un menu un peu complexe la requête devient trop lourde.

Regarde sur http://drupal.org/node/321154 pour un workaround, bien que la meilleure solution pour un CMS "lourd" comme Drupal serait d'utiliser un hébergement dédié.

Salut,

Super merci beaucoup, j'ai pu régler le problème avec le lien que tu m'as donné.

Cela dit, je reste perplexe devant le fait que drupal envoie des requêtes de plus d'1MO pour gérer un menu même si c'est complexe. Peut être que je ne me rend pas compte mais je trouve que ça fait vraiment beaucoup. Enfin bref l'important c'est que ça fonctionne.

Encore merci pour ton aide, ça m'a sorti d'une grosse galère.

a+