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.4] Se connecter sur MySQL 4.0


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Par défaut [PHP 5.4] Se connecter sur MySQL 4.0
    Bonjour,

    je cherche à me connecter sur une base MySQL 4.0 via un serveur PHP 5.4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $link = mysql_connect('******:****','*****','*****');
    Lors que je lance le code, j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: mysql_connect(): Connecting to 3.22, 3.23 & 4.0 is not supported. Server is 4.0.14-nt-log in C:\Users\***\Documents\EasyPHP-12.1\www\index.php on line 5.
    Y'a t-il un moyen de se connecter quand même à la base MySQL 4.0 malgré le fait que cela ne soit plus supporté?

    Par avance, merci.
    Cdlt

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    il n'y a pas de contournement possible à ma connaissance.
    Sauf changer de version soit de PHP (downgrade) soit de MySQL (upgrade)

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 81
    Par défaut
    En fait le problème vient de l'encodage du mot de passe qui a changé entre les version pré 4.1 et post 4.1 de MySQL.

    Donc il te faudrait au minimum migré sur un MySQL 4.1 et ensuite utilisé la procédure de conversion des mots de passe pour etre sur le nouveau cryptage.

    A partir de la tu n'auras plus de soucis et tu pourras garder ta version de php.

    Une autre solution aussi ca peut etre de compiler le module MySQL de php avec le driver libmysql de ton serveur MySQL au lieu de passer par le driver natif mysqlnd.

    bref tu as plusieurs solutions mais pour une questions de sécurité je dirais que la migration du serveur MySQL vers au moins la version 4.1 serait mieux.

    Apres en terme de différence, il y en a peu et un site fonctionnant sur un serveur 4.0 devrait fonctionner sur le 4.1 sans problème.

  4. #4
    Membre éclairé Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Par défaut
    Merci pour vos réponses,

    en fait, c'est juste pour du développement en attente d'un serveur avec MySQL 5.6.

    everest31 => "Une autre solution aussi ca peut etre de compiler le module MySQL de php avec le driver libmysql de ton serveur MySQL au lieu de passer par le driver natif mysqlnd.".
    Quel est la marche à suivre pour faire ceci?

    Cdlt

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 81
    Par défaut
    Tout dépend si tu es sous Windows ou *NIX.
    Dans un cas sous Windows c'ets chiant, il te faut visual studio, télécharger les sources de PHP et au moment de la compilation indiqué le libmysql.

    Si tu es sous *NIX, dans le ./configure au lieu de préciser mysqlnd en driver tu précises le path de libmysql.

    Puis tu lances ta compilation comme normal.

  6. #6
    Membre éclairé Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Par défaut
    En fait, la libmysql.dll se trouve dans mon repertoire apache de mon install d'easyPHP (5.4.6).

    Mais je n'arrive pas à forcer son utilisation dans le php.ini

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 81
    Par défaut
    Non ce que tu veux faire tu ne peux pas.

    PHP n'est pas capable de s'interfacer directement sur la dll.
    Il faut recompiler le module MySQL, ou mysqli, ou pdo_mysql ou les trois en fonction de celui ou ceux que tu utilises pour que ce soit ces modules qui passent par la dll et non par le code natif mysqlnd qui lui ne prend pas en charge le système d'ancien cryptage des mot de passe MySQL.


    Tu es obligé de passé par la recompilation d'un des modules.

    Par contre ce que je ne comprend spas c'est pourquoi tu as une telle différence entre la version de PHP et celle de MySQL.

    Dans les packages tout prêt pour Windows, en principe les versions sont proche sou du moins fonctionnelle entre elle.

    A la limite installe la derniere version de easyphp et tu règlera tes problèmes sans partir sur de la recompilation sous Windows qui est pas des plus simples.

  8. #8
    Membre éclairé Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Par défaut
    En fait, si tu préfères, c'est dans l'optique d'une migration d'un logiciel (de mon taf).

    Actuellement, la base est en MySQL 4.0 avec du PHP 5.2
    Optique migrer vers MySQL 5.6 avec PHP 5.4.

    Le problème c'est que le serveur MySQL n'est pas prêt et que l'on veut migrer le PHP vers la version 5.4 en utilisant l'ancienne base (pour les développements).

    Le travail ne peux se faire en local, la base est obligatoirement sur le serveur de dev (en MySQL 4.0)...

    Je ne peux pas recompiler les dll (je ne peux rien installer sur mon poste et en faire une demande prend bcp de temps).

    D'après mes recherches, cela semble impossible à réaliser ne serais-ce que pour le système d'authentification)

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 81
    Par défaut
    bon ben la c'est foutu alors.

    De plus vu la migration que vous souhaitez faire, j'aurais quand même fait l'inverse.

    Le code php surtout si vous êtes en 5.2 ne va pas énormément changé vers la 5.4 sauf cas particuliers, alors qu'une migration MySQL entre 4.0 et la 5.6 est beaucoup plus important en terme de modification.

    je commencerais donc vraiment par MySQL avant le php.

Discussions similaires

  1. pb de connection sur MySQL free
    Par casaplongee dans le forum Free
    Réponses: 11
    Dernier message: 27/03/2008, 19h34
  2. [MySQL] pb de connection sur MySQL Free
    Par casaplongee dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/03/2008, 14h47
  3. Impossible de se connecter sur MySQL
    Par afrodje dans le forum Outils
    Réponses: 8
    Dernier message: 05/10/2007, 15h36
  4. [AJAX] Appeller une page php en Ajax pour action sur Mysql
    Par Overstone dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 20/07/2007, 18h23
  5. DREAMWEAVER: Je veux me connecter sur MYSQL
    Par lamarre aisha dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 10/10/2006, 17h55

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