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 :

Pas moyen de paramétrer PDO [PDO]


Sujet :

PHP & Base de données

  1. #1
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut Pas moyen de paramétrer PDO
    Bonjour,

    Sur mon PC personnel(Windows 7 64 bits), j'ai installé Apache 2.4 64 bits, PHP 5.5 64 bits et MySQL 5.6 64 bits.

    Après quelques tentatives, j'ai réussi sans problème à me connecter depuis une page PHP à MySQL en utilisant PDO.


    Maintenant, je suis sur mon PC du boulot (Windows 7 32 bits).
    J'ai téléchargé depuis le même endroit les mêmes versions, au détail près que ce sont des 32 bits à la place.

    J'ai paramétré, je pense, de la même manière.

    J'ai la même base (copier/coller du dossier, je suis un gros bourrin mais ça marche) et les mêmes pages PHP (copier/coller aussi).

    La base marche.
    Un script PHP genre "Hello world" marche aussi.
    Apache marche évidement.

    Mais pas moyen de faire marcher PDO :
    Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\MagicSite\objects\languages.php:2 Stack trace: #0 C:\MagicSite\objects\languages.php(2): PDO->__construct('mysql:host=loca...', 'magicsite', '********') #1 {main} thrown in C:\MagicSite\objects\languages.php on line 2
    Voici le code PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $dbh = new PDO('mysql:host=localhost;dbname=magicsite;charset=utf8','magicsite','********'); 
    $sth = $dbh->prepare('SELECT l.id, ln.name FROM language l inner join language_name ln on ln.lan_id = l.id where ln.trd_id = ? order by l.id asc');
    $sth->bindValue(1, $_GET["language_id"], PDO::PARAM_INT);
    $sth->execute();
    print json_encode($sth->fetchall(PDO::FETCH_ASSOC));
    ?>

    Ca va pourtant pas chercher bien loin...

    Un truc que je ne pige pas : phpinfo() n'indique aucun drivers PDO.

    Voici ce que j'ai configuré dans c:\apache24\conf\httpd.conf

    LoadModule php5_module "c:/Php55/php5apache2_4.dll"
    => A la suite des autres "LoadModule"

    AddType application/x-httpd-php .php
    => A la fin de <IfModule mime_module>

    PHPIniDir "c:/php55"
    => A la fin du fichier

    Et dans c:\php55\php.ini :

    extension=php_pdo_mysql.dll
    => Dans la liste des extensions

    Et c'est tout.

    Le fichier "php_pdo_mysql.dll" est bien présent dans c:\php55\ext

    phpinfo() indique bien que c'est c:\php55\php.ini qui est utilisé.

    J'ai oublié quoi ?
    On ne jouit bien que de ce qu’on partage.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Regarde dans tes logs apache si tu as des erreurs quand tu le demarres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Bon, ok, là je me sens con...

    Au départ, j'avais d'autres soucis, et il n'y avait jamais rien dans les logs, du coup, je les regardais plus...

    Visiblement, il y a un bug dans la dernière distribution PHP 5.5 32 bits (et pas dans la 64 bits) car le répertoire par défaut pour les extentions est "ext\\" (avec deux anti-slash).

    Résolu en ajoutant dans php.ini :

    extension_dir = "c:\php55\ext"

    Bon, ben maintenant ça marche ^^

    Merci !
    On ne jouit bien que de ce qu’on partage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pas moyen d'installer k3b sur debian
    Par ZiMo dans le forum Applications et environnements graphiques
    Réponses: 30
    Dernier message: 20/12/2005, 17h09
  2. [VB.NET] Pas moyen dafficher un integer
    Par guillaume1998 dans le forum VB.NET
    Réponses: 11
    Dernier message: 11/11/2005, 16h17
  3. J'ai du son mais pas moyen de lire cd ou mp3
    Par kaygee dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 29/10/2005, 20h12
  4. pas moyen de trouver l'erreur de ce code Javascript !!!
    Par NATHW dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2004, 21h47
  5. [JFrame] Pas moyen d'avoir une fenetre active
    Par deedji dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 24/05/2004, 16h08

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