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 :

Problème PHP + unixODBC


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 26
    Points
    26
    Par défaut Problème PHP + unixODBC
    Bonjour,

    J'essaye de me connecter à un AS400 depuis un serveur linux (mandriva 2006) en production

    J'ai réussi à installé la connection ODBC sur une fedora 6 (php 5.1.6) avec ces éléments :

    - unixODBC
    - iSeriesAccess (d'IBM)

    Tout marche très bien. J'ai fais la même chose sur le serveur de production (Mandriva 2006), mais là ça ne marche pas. iSeriesAccess est bien installé car j'arrive à visualiser mon serveur AS400 à distance grâce à la commande "isql -v MONSERVEUR" (ça c'est déjà bien ;-) ). Par contre depuis PHP je n'arrive pas à accéder à mon serveur, enfin, j'ai l'impression que PHP voit mal le paramétrage ODBC. (je suis sur un php 5.0 qui n'a pas pdo_odbc car trop ancien). Le module ODBC est bien monté, mais la valeur "ODBC library" est à vide (alors qu'il y a la valeur unixODBC dans le serveur où ça marche). Je pense que le problème vient de là. Pourtant j'ai même installé php-odbc, mais rien à faire.

    Quelqu'un aurait-il une idée pour monter la librairie unixODBC dans le module ODBC de PHP (j'ai pourtant bien installé unixODBC). Est-ce que ça viendrait d'une version de php trop ancienne ?

    Merci d'avance de votre aide.
    ;-)

  2. #2
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Il est vrai que j'aurais peur avec un serveur sous mdv 2006 ! Je pense que cette version n'est plus maintenue depuis un moment ! Es-tu sûr de ne pas avoir des failles de sécurité non maintenues ? Il est tellement ancien qu'une migration directe vers 2010.0 me fait un peu peur. Pour ma part, je viens de la faire d'un 2008.1 vers 2010.0, j'ai peur, mais c'est passé. J'ai du faire une petite intervention sur mon fichier de commandes Iptables et tout est passé.

    Pour ce qui est des problèmes purement php, je transfers ta question sur un forum plus approprié.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Merci d'avoir transmis mon post vers un forum plus approprié
    ;-)

    En effet mandriva 2006 commence à être vieille ! En fait il s'agit d'un serveur web hébergé par un prestataire, et il serait peut-être bon de migrer vers une distribution plus récente. C'est un gros chantier, et si je pouvais éviter ça seait quand même mieux (c'est un serveur de production).

    J'ai continuer mes recherches de contrôle, je vous dis ce que j'ai compris (désfois que ça peut aider du monde).

    unixODBC : permet d'installer ODBC sur le serveur. Grâce à la commande "odbcinst -j" on peut contrôler si ça fonctionne. Dans mon cas tout est OK.

    iSeriesAccess : Il faut ensuite un odbc client pour se connecter vers une base différente (db2, sql, sql server ...) . pour ma part j'ai installé iSeriesAccess (db2) et on peut le contrôler grâce o la commande : "isql -v MONSERVER". Dans mon cas ça fonctionne.

    php-odbc : Pour terminer il faut installer "php-odbc" afin que PHP puisse utiliser ODBC pour se connecter. C'est là où il doit y avoir un problème. J'utilise la commande "urpmi php-odbc" qui met aucune erreur d'installation. Il me crait bien le fichier de configuration "XX_odbc.ini" (contenant le texte "extension odbc.so et du texte de paramétrage") dans /etc/php.d/ afin de préciser à php de monter le module odbc.

    Je relance le serveur web et consulte phpinfo(). Odbc est bien monté, je retrouve mon paramétrage (XXX_odbc.ini), mais par contre je n'ai aucune valeur dans les librairies et les path.

    J'ai installé la même chose sur deux autres serveurs (fedora 6 et unbuntu) et ça marche tout bien du premier coup. Je peux alors contrôler la différence entre les config phpinfo() :

    Serveur OK (fedora et unbuntu) :
    ODBC Support enabled
    Active Persistent Links 0
    Active Links 0
    ODBC library unixODBC
    ODBC_INCLUDE -I/usr/include
    ODBC_LFLAGS -L/usr/lib
    ODBC_LIBS -lodbc


    Serveur mandriva :
    ODBC Support enabled
    Active Persistent Links 0
    Active Links 0
    ODBC library no value
    ODBC_INCLUDE no value
    ODBC_LFLAGS no value
    ODBC_LIBS no value


    Apparemment il ne me trouve pas mes librairies unixODBC (à moins qu'il n'est pas capable de l'afficher, mais ça m'étonnerai).

    Quelqu'un aurait-il une idée ? Je pense qu'on est pas loin de la vérité.
    ;-)

    Merci.

  4. #4
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Sur ma 2010.1 (cooker), j'ai des rpm du nom de php-odbc, mysql-connector-odbc;lib(64)unixODBC... en plus de unixODBC
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 26
    Points
    26
    Par défaut
    php-odbc permet en effet de faire le lien entre PHP et ODBC. C'est ça qui pose un problème je pense. Il s'installe bien, du coup quand je relance apache j'ai bien le moduel ODBC d'installé si je fait un phpinfo(). Par contre il est incomplet car il ne trouve pas la librairie unixODBC. Cette dernière est bien installé car en ligne de commande elle fonctionne ("odbcinst -j" et "isql -v MONSERVEUR" fonctionnent).

    En fait j'ai l'impression que c'est php qui ne voit pas bien unixODBC.

Discussions similaires

  1. [COM] PHP::COM et Apache
    Par lebdenat dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 12/06/2006, 14h59
  2. [PHP-JS] Problème php-javascript (suite)
    Par nicoaix dans le forum Langage
    Réponses: 4
    Dernier message: 21/12/2005, 10h47
  3. [XSLT] Problème PHP + XSL
    Par thefaycal dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/12/2005, 09h16
  4. Réponses: 1
    Dernier message: 12/09/2005, 11h28

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