Connexions multiples à mysql avec AJAX
Résolu
Kartofeuhl
-
Kartofeuhl -
Kartofeuhl -
Bonjour,
J'ai développé une application en AJAX/PHP/MySQL.
L'AJAX appelle toutes les secondes un script PHP qui récupère des informations sur une base de données MySQL.
ça fonctionne bien, mais j'ai remarqué qu'au bout d'un certain temps de marche avec quelques utilisateurs connectés, en lancant un "netstat -an" sur le serveur, on voit qu'il y a des milliers de connexions ouvertes sur le port 3306 (celui de MySQL).
En effet, le script PHP appelé toutes les secondes se connectant à la base, il ouvre une connexion à mySQL à chaque appel.
J'ai donc ajouté à la fin du fichier PHP le mysql_close() que j'avais oublié, mais ça n'a rien changé.
J'ai donc essayé de lancer le mysql_connect() sur la page web en elle même, et de l'enlever du script qui est appelé toutes les secondes afin que le mysql_connect ne soit effectué qu'une seule fois. Mais dans ce cas là, j'ai une erreur m'indiquant qu'il est impossible d'accéder à la base de donnée...
Je ne voit plus trop ce que je peux faire...
ma question est donc en gros : Comment faire pour se connecter à mysql toutes les secondes avec le même mysql_connect().
Ou bien : Comment refermer une connexion ouverte entre apache et MySQL dès qu'elle est terminée ?
Merci de votre aide.
J'ai développé une application en AJAX/PHP/MySQL.
L'AJAX appelle toutes les secondes un script PHP qui récupère des informations sur une base de données MySQL.
ça fonctionne bien, mais j'ai remarqué qu'au bout d'un certain temps de marche avec quelques utilisateurs connectés, en lancant un "netstat -an" sur le serveur, on voit qu'il y a des milliers de connexions ouvertes sur le port 3306 (celui de MySQL).
En effet, le script PHP appelé toutes les secondes se connectant à la base, il ouvre une connexion à mySQL à chaque appel.
J'ai donc ajouté à la fin du fichier PHP le mysql_close() que j'avais oublié, mais ça n'a rien changé.
J'ai donc essayé de lancer le mysql_connect() sur la page web en elle même, et de l'enlever du script qui est appelé toutes les secondes afin que le mysql_connect ne soit effectué qu'une seule fois. Mais dans ce cas là, j'ai une erreur m'indiquant qu'il est impossible d'accéder à la base de donnée...
Je ne voit plus trop ce que je peux faire...
ma question est donc en gros : Comment faire pour se connecter à mysql toutes les secondes avec le même mysql_connect().
Ou bien : Comment refermer une connexion ouverte entre apache et MySQL dès qu'elle est terminée ?
Merci de votre aide.
A voir également:
- Connexions multiples à mysql avec AJAX
- Facebook connexions - Guide
- Gmail connexions - Guide
- Mysql community server - Télécharger - Bases de données
- Mysqli::real_connect(): (hy000/2002): aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée. - Forum PHP
- Les connexions au serveur « imap.gmail.com » sur les ports par défaut ont expiré. - Forum MacOS
2 réponses
Bonjour,
Avez-vous essayé les connexions persistantes ?
https://www.php.net/manual/fr/function.mysql-pconnect.php
Ca pourrait résoudre votre problème.
Avez-vous essayé les connexions persistantes ?
https://www.php.net/manual/fr/function.mysql-pconnect.php
Ca pourrait résoudre votre problème.