Dépannage de l'erreur MySQL : « L'instruction préparée doit être re-préparée »
Lors de la migration d'un site Web avec du code PHP modifié et des procédures stockées MySQL d'un environnement local à un serveur d'hébergement, une erreur fatale persistante, "'L'instruction préparée doit être re-préparée'", a perturbé le fonctionnement du site.
Cause de l'erreur :
Le problème sous-jacent pourrait être lié au bug MySQL n°42041, qui affecte la mise en cache des instructions préparées. Lorsque la mise en cache des instructions est insuffisante, le serveur peut ne pas parvenir à réutiliser les instructions préparées après un redémarrage, ce qui entraîne l'erreur.
Solution :
La solution réside dans l'ajustement du serveur table_definition_cache variable. Cette variable définit le nombre maximum de tables dont les définitions sont mises en cache en mémoire. En augmentant sa valeur, vous pouvez accueillir davantage d'instructions préparées mises en cache et potentiellement résoudre l'erreur.
Mise en œuvre :
Pour modifier la valeur table_definition_cache, suivez ces étapes :
SHOW VARIABLES LIKE 'table_definition_cache';
SET GLOBAL table_definition_cache = <new-value>;
Ressource supplémentaire :
Pour plus d'informations sur la mise en cache des instructions préparées, reportez-vous à la documentation officielle de MySQL :
https://dev.mysql.com/doc/refman/8.0 /fr/statement-caching.html
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!