Maison >base de données >tutoriel mysql >Pourquoi ma connexion PHP MySQL expire-t-elle après 60 secondes ?

Pourquoi ma connexion PHP MySQL expire-t-elle après 60 secondes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-21 20:59:11329parcourir

Why Does My PHP MySQL Connection Timeout After 60 Seconds?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn