IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[PHP 5.3] Problème de connexion persistante avec PDO


Sujet :

PHP & Base de données

  1. #1
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut [PHP 5.3] Problème de connexion persistante avec PDO
    Bonjour à tous,

    Je rencontre un problème avec les connections persistantes de PDO dont je n'arrive pas à me dépêtrer. J'utilise une connexion persistante pour maintenir une table temporaire qui me sert à stocker des valeurs avant des les injecter dans une table physique (en gros, j'émule - salement - les transaction vu que je ne peux pas avoir de moteur InnoDB sur mes tables - politique de l'entreprise, faut faire avec ).

    ça marche parfaitement dans mon environnement Windows et sur ma VM Linux, mais pas sur le serveur de test...

    Après analyse, il s'avère que, contrairement à ce que nous dis la doc à ce sujet, le handle de connexion est porté pour un fils d'apache donné et n'est pas partagé entre ceux-ci. Donc on se retrouve vite avec autant de connexion persistantes ouvertes que de processus Apache en cours (ce que j'ai pu remarquer avec show processlist; à chaque fois qu'un fils exécute le script de connexion pour la première fois, j'ai une connexion ouverte de plus). Donc bien évidement, à moins d'être servi par le même fils, je perds ma table temporaire à chaque requête.

    Pourtant la doc nous dit bien:
    bla bla... Cela signifie que si un client fait une deuxième requête, il peut être servi par un processus client différent du premier. Les connexions persistantes vous permettent alors de ne vous connecter à une base SQL que la première fois. Lors des connexions ultérieures, les processus fils pourront réutiliser la connexion ouverte précédemment.
    Environement:
    • PHP 5.3.3
    • Apache 2.2.3
    • RedHat Tikanga (5.1)
    • MySQL 5.1.22-rc-community


    Quelqu'un a t'il rencontré ce problème et comment l'a t'il résolu ? Ou quelles sont les pistes à explorer (je suis pas vraiment un Ninja d'Apache) ?

  2. #2
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Salam ; oui mettre ton disciple est là ....!
    je plaisante ; voila une piste http://php.net/manual/fr/pdo.constants.php

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par redoran Voir le message
    Salam ; oui mettre ton disciple est là ....!
    je plaisante ; voila une piste http://php.net/manual/fr/pdo.constants.php
    ?

    Benjamin > t'es en apacha2handler sur tout les env, ou t'as aussi du CGI ?

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Je me le demande, je ne sais pas trop comment le déterminer.

    Voici ce que j'ai dans on fichier /etc/httpd/conf.d/php.conf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    #
    # PHP is an HTML-embedded scripting language which attempts to make it
    # easy for developers to write dynamically generated webpages.
    #
    <IfModule prefork.c>
      LoadModule php5_module modules/libphp5.so
    </IfModule>
    <IfModule worker.c>
      LoadModule php5_module modules/libphp5-zts.so
    </IfModule>
     
    #
    # Cause the PHP interpreter to handle files with a .php extension.
    #
    AddHandler php5-script .php
    AddType text/html .php
     
    #
    # Add index.php to the list of files that will be served as directory
    # indexes.
    #
    DirectoryIndex index.php
     
    #
    # Uncomment the following line to allow PHP to pretty-print .phps
    # files as PHP source code:
    #
    #AddType application/x-httpd-php-source .phps
    Je vais essayer de rajouter ce handler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddHandler application/x-httpd-php .php
    ** Edit **

    Apparement, ça n'a pas changé grand chose... Même si je retire le handler php5-script.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    fait un php_sapi_name, ou direct dans ton phpinfo

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Non, c'est bien en Apache 2.0 handler. Rien de bien particulier dans la conf d'apache soit dit en passant... (à part peut être que c'est un package RedHat mais je doute qu'ils l'aient tweaké).

Discussions similaires

  1. [PDO] Conseils sur Connexion persistante avec PDO ?
    Par QAYS dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/08/2013, 22h43
  2. [MySQL] Problème de connexion MySQL avec script PHP
    Par alen22 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/08/2012, 10h42
  3. [dreamweaver] problème de connexion Mysql avec dreamweaver
    Par goma771 dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 30/01/2006, 14h14
  4. Problème de connexion à PhpMyAdmin avec mySQL 5.0.18
    Par RVI dans le forum Installation
    Réponses: 5
    Dernier message: 27/01/2006, 12h03
  5. Problème de connexion WMI avec Windows XP
    Par Against Me! dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 24/05/2005, 09h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo