Script PHP avec PDO rencontrant l'erreur "MySQL Server Has Gone Away"
Un script effectuant des tâches nocturnes est confronté à un problème où PDO a préparé des instructions échoue avec l'erreur "Le serveur MySQL est parti" après plusieurs exécutions réussies. La cause première de ce problème réside souvent dans le dépassement de la taille maximale autorisée des paquets définie pour MySQL.
Solution : Ajuster la configuration du serveur
Pour résoudre l'erreur, il est nécessaire pour ajuster le paramètre max_allowed_packet dans le fichier de configuration MySQL (my.ini). Ce paramètre spécifie la taille maximale des paquets que le serveur peut gérer. Dans le scénario donné, le problème survient probablement lors de la tentative d'insertion d'un BLOB plus grand que la taille autorisée.
Messages d'erreur et sortie de l'enregistreur
Lorsque ce problème se produit, le côté client affiche le message d'erreur "Le serveur MySQL a disparu." De plus, le journal du serveur peut contenir l'erreur suivante si la journalisation des erreurs est activée :
Error 1153 Got a packet bigger than 'max_allowed_packet' bytes
Ajustement de la configuration
Pour résoudre ce problème, déterminez la taille du plus grand BLOB qui sera inséré et défini max_allowed_packet dans my.ini en conséquence. Par exemple, si la plus grande taille du BLOB est estimée à 200 Mo, la configuration peut être ajustée comme suit :
[mysqld] ... max_allowed_packet = 200M ...
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!