begin process at 2012 02 14 02:34:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

PARTAGER UNE CONNEXION MySQL ENTRE PLUSIEURS SESSION


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PARTAGER UNE CONNEXION MySQL ENTRE PLUSIEURS SESSION

mardi 25 mars 2008 à 17:35:07 | PARTAGER UNE CONNEXION MySQL ENTRE PLUSIEURS SESSION

CleFac

bonjour,

j'ai remarqué que sur certains hébergeur le nombre de connexions silmultées sont limitées.
donc j'aimerai savoir comment partager une connexion MySQL entre plusieurs session ?

en vous remerciant
mardi 25 mars 2008 à 18:20:49 | Re : PARTAGER UNE CONNEXION MySQL ENTRE PLUSIEURS SESSION

neigedhiver

Réponse acceptée !
Salut,

En fait, on ne peut pas. Ca, c'est la réponse rapide.
En développant un peu, maintenant...

La durée de vie d'une connexion non persistante à MySQL est liée à la durée d'exécution du script PHP qui l'ouvre. Cela signifie que si un script PHP ouvre une connexion non persistante à MySQL et ne la ferme pas explicitement (avec mysql_close()), la connexion sera de toute façon fermée lors de la fin du script.

Un connexion persistante, quant à elle, n'est pas automatiquement fermée à la fin de l'exécution du script : elle reste ouverte (sauf bien sûr si l'on utilise mysql_close()). Elle peut alors être réutilisée par un autre script. Voici comment ça se passe alors :
- un premier script ouvre la connexion au serveur MySQL
- le premier script fait ce qu'il a à faire avec cette connexion
- le premier script se termine sans avoir fermé la connexion
- plus tard (ça peut être 1 ms après) un autre script demande à PHP de se connecter à MySQL
- si le serveur, le nom d'utilisateur et la base de données sont les mêmes, PHP réutilise la connexion qu'il avait gardée ouverte
- et ainsi de suite
Concrètement, on fait toujours l'ouverture avec mysql_connect(), c'est PHP qui décide s'il doit réellement se connecter ou bien utiliser une connexion existante.

Ca, c'est juste la base... Maintenant, il faut tenir compte du nombre de visiteurs et du temps d'exécution des scripts (qui sera difficilement mesurable, en tout cas jamais de manière fiable). Le serveur (la machine) est capable de faire plusieurs choses à la fois. Concrètement, plus d'un script PHP pourront être en cours d'exécution en même temps, utilisant alors (éventuellement) plusieurs connexions MySQL simultanément. Si trop de connexions sont maintenues ouvertes, le serveur MySQL refusera d'en créer de nouvelles.

Pour éviter ce genre de problème, il y a plusieurs choses possibles :
- utiliser des connexions non persistantes
- fermer les connexions explicitement avec mysql_close() aussitôt que la connexion n'est plus nécessaire.
- corollaire du point précédent : on peut essayer (quand c'est possible) de faire ses requêtes MySQL le plus tôt possible pour utiliser la connexion un temps le plus court possible

Si vraiment on ne s'en sort pas, qu'on a trop de trafic pour le nombre maximum de connexions MySQL autorisées :
  • on change d'hébergeur (ou d'offre), parce que celui qu'on a n'est vraiment pas adapté
  • on peut aussi accorder une attention toute particulière à l'optimisation de :
    • ses scripts PHP
    • l'architecture des tables et des index de la base de données



Neige
mardi 25 mars 2008 à 23:03:10 | Re : PARTAGER UNE CONNEXION MySQL ENTRE PLUSIEURS SESSION

CleFac

je te remercie neigedhiver, tu as été clair, net et précis.
mardi 9 décembre 2008 à 18:30:05 | Re : PARTAGER UNE CONNEXION MySQL ENTRE PLUSIEURS SESSION

sagat06

Je confirme, très précis même.
Merci.

Signé Sagat


Cette discussion est classée dans : mysql, connexion, session, partager


Répondre à ce message

Sujets en rapport avec ce message

charger une donnée dans une session [ par Masterchiefer ] Bonjour à tous, j'avais posté un message avant et après avoir visité le lien que l'on m'a donné j'ai découvert les sessions. J'ai installé mon panier Conserver une connexion MySQL entre plusieurs pages [ par fregolo52 ] Bonjour,J'aimerais conserver ma connexion entre 2 pages php.Pour simplifier, dans ma 1ere page, je sauvegarde des données utiles et dans la seconde je PHP MySQL et Cession : Problème lors d'un UPDATE de la table [ par cw75116 ] Bonsoir, ou plutôt bonjour à tous , Après de longues heures a chercher sur le net, me creuser les méninges je viens vous demander de l'aide . Sur m connexion/deconnexion site web - variable SESSION [ par ju0123456789 ] Bonjour !J'ai fait un site en PHP (je debute), base de données établie, et j'aimerais que l'utilisateur puisse se logguer quand il veut.SI la session problème concaténation [ par morpheus22170 ] Bonjour,comme le titre l'indique j'ai un problème de concaténation. Je suis sur une base de données de type "bibliothèque"Mon problème vient de l'inse session et mysql [ par webcap ] Bonjour, je ne savais pas ou poster mes questions.j'ai un espace membre pour mon site et j'ai un petit soucisl'inscription des membres est ok avec env Connexion à mysql persitente [ par slurp ] Quelqu'un peut-il m'explique à quoi sert un connexion persistante !Merci d'avance Connexion mysql [ par Leeloe6 ] Bonjour,Mon problème est que je n'arrive pas à me connecter à ma base de donnée sous linux. J'ai créé mes pages et ma bdd sous windows dans un premier code connexion [ par vrkill2 ] bonjour a tous qui peux me donner un coup de main pour  se code de connexion car sa ne marche pas mérci de bien vouloire méclairémysql_select_db($data connexion à la BDD sur mon site [ par vrachid ] bonjour à tousvoila j'ai crée un site internet avec BDD MySql qui fonctionne sur mon pc avec wampserver ensuite je l'ai hébergé pour de vrai :D j'ai c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,810 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales