Problème : délai d'attente de connexion au serveur MySQL après 60 secondes, erreur "Le serveur MySQL a disparu - dans exactement 60 secondes"
Le problème décrit provient d'un timeout lié à l'option PHP mysql.connect_timeout. Cette option affecte non seulement le délai d'expiration de la connexion, mais également le temps nécessaire pour recevoir la première réponse du serveur MySQL.
Cause première :
L'option mysql.connect_timeout est généralement défini sur 60 secondes par défaut. Lorsqu'un script PHP exécute une requête qui prend plus de 60 secondes à s'exécuter sur le serveur MySQL, le script PHP expirera et générera l'erreur « Le serveur MySQL est parti ».
Solution :
Pour résoudre ce problème, augmentez l'option mysql.connect_timeout à une valeur supérieure au temps d'exécution attendu de votre requête. Cela permettra au script PHP d'attendre plus longtemps une réponse du serveur avant d'expirer.
Vous pouvez modifier l'option mysql.connect_timeout en utilisant la fonction ini_set() dans votre script PHP :
ini_set('mysql.connect_timeout', 300); // Set to 300 seconds ini_set('default_socket_timeout', 300); // Set the socket timeout to match the connect timeout
En augmentant l'option mysql.connect_timeout, vous prolongez efficacement le délai d'attente pour que le script PHP reçoive une réponse du serveur MySQL, évitant ainsi le message "Le serveur MySQL a disparu". erreur.
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!