2009-09-22 7 views
0

La connexion à mysql se perd après 8 heures (c'est-à-dire que wait_timeout varibale expire). J'essaye d'utiliser mysql_ping() pour se reconnecter au serveur mais le ping me donne l'erreur disparue de serveur de Mysql. J'utilise SQL version 5.1. donc je n'utilise pas mysql_options() pour activer le drapeau de reconnexion car mysql_real_connect() le met à 0. Je mets explicitement le drapeau de reconnexion à 1 comme mysql_Conn-> reconnect = 1; après avoir appelé mysql_real_connect(). Mais mysqlping ne fonctionne pas. La reconnexion ne se produit pas. Bon conseil. Merci d'avancemysql_ping() c api échoue

Répondre

1

Au lieu d'essayer de relancer la connexion à la vie une fois qu'elle est tombée, mieux vaut pinguer périodiquement à environ la moitié du temps de déconnexion inactive (4 heures dans votre cas) pour le maintenir en vie.

Si le ping échoue, supprimez la connexion explicitement et reconnectez-vous.

En outre, vous voudrez peut-être ajouter quelque chose comme ceci à votre /etc/my.cnf:

[mysqld] 
wait_timeout=400000 

Le délai d'attente est en quelques secondes, c'est donc environ quatre jours et demi, assez longtemps pour garder une connexion en vie pendant un long week-end pendant que personne n'utilise votre système.