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 :

Driver MS-SQL pour PHP : incompatibilité 64 bits [SQL-Server]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut Driver MS-SQL pour PHP : incompatibilité 64 bits
    Salut à tous,

    Voilà l'histoire qui m'est arrivé ces jours-ci et que je trouve plus ou moins incroyable...

    Je travaille sur un projet où le client a sa configuration et ne peut (souhaite) pas en changer : serveur 2008 r2 64 bits, IIS et sql server 2008. Un tout M$ quoi

    Le patron m'a tout d'abord indiqué que leurs anciens prestataires développaient en ASP. Je lui fait tout un speach en lui expliquant les avantages de PHP par rapport à ASP (ok, je n'aime pas ASP mais je n'allais pas lui dire comme ça ).

    Je commence donc à installer la dernière version de PHP car voulant profiter de certaines des évolutions de PHP 5.4. Tout fonctionne bien : le célèbre "Hello World" s'affiche bien.

    Maintenant, reste à établir une connexion avec SQL Server et là... Cata ! PHP ne supporte plus SQL Server depuis les dernières versions. Pour cela il faut utiliser le driver M$ SQL Server pour PHP. Je le télécharge donc à l'adresse suivante...

    http://www.microsoft.com/en-us/downl....aspx?id=20098

    ...Procède à son installation (copie de 2 dll dans le répertoire EXT de PHP) et modifie le fichier php.ini en conséquence (ajout des lignes d'extensions correspondantes). Un petit IISreset et là : PAF ! Erreur au lancement de PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PHP Startup: Unable to load dynamic library 'C:\inetpub\php\ext\php_sqlsrv_54_nts.dll'
    Bien entendu, impossible de faire fonctionner les fonctions sql server et l'extension ne trouve pas sa place dans un phpinfo()...

    J'ai cherché sur le net et j'ai fini par trouver ceci :

    The current version of the driver does not support x64. We intend to focus on preparing a 64-bit version of the driver as soon as a compatible (x64) PHP distribution becomes available (as binary or msi). At this time, we have no timeline or schedule for releasing a 64-bit driver.
    http://social.msdn.microsoft.com/For...5-3de8b1ac46a4
    En clair : M$ ne nous fournira pas de version 64 bits du driver tant que PHP ne se sera pas mis au travail.

    Solutions :
    • Utiliser un driver ODBC (avec les lenteurs connues)
    • Faire régresser PHP et utiliser des fonctions MSSQL qui ont été dépréciées
    • Retarder le projet et attendre un jour qui ne viendra peut être jamais...


    Résultat : point mort et obligé de développer en ASP...


    Je sais pas si ces information serviront... Cela dit, quelqu'un a peut-être des informations plus fraiches ?

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Citation Envoyé par windmastr26 Voir le message
    Je lui fait tout un speach en lui expliquant les avantages de PHP par rapport à ASP (ok, je n'aime pas ASP mais je n'allais pas lui dire comme ça ).En clair : M$ ne nous fournira pas de version 64 bits du driver tant que PHP ne se sera pas mis au travail.

    Solutions :
    • Utiliser un driver ODBC (avec les lenteurs connues)
    • Faire régresser PHP et utiliser des fonctions MSSQL qui ont été dépréciées
    • Retarder le projet et attendre un jour qui ne viendra peut être jamais...


    Résultat : point mort et obligé de développer en ASP...
    Voilà ce que c'est que de vendre la peau de l'ours avant de l'avoir tué
    A ta place j'aurais rétrogradé PHP. On s'est passé des fonctionnalités du PHP 5.4 depuis 20 ans alors...
    Sans compter que si tu n'es pas à l'aise avec ASP, c'est encore prendre une sacrée option. M'est d'avis que tu devrais repenser les choix effectués.

  3. #3
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut
    Oui, ça n'était pas judicieux de ma part de me précipiter comme ça

    Pour ce qui est de repenser mes choix je suis mitigé. Il est vrai que d'un côté je suis bien plus à l'aise avec PHP, mais de l'autre un peu de ASP ne me ferait pas de mal... Même si au final cela aurait que peu d'intérêt vu que c'est le premier projet ces dernières années qu'on me demande en ASP...

    J'aurai préféré que le client opte pour autre chose qu'un SQL Server mais il y a encore énormément d'applications qui utilisent ce SGBD, et comme il souhaite des interactions avec ses bases de logiciels de gestion, je n'ai guère le choix...

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par windmastr26 Voir le message
    Pour ce qui est de repenser mes choix je suis mitigé. Il est vrai que d'un côté je suis bien plus à l'aise avec PHP, mais de l'autre un peu de ASP ne me ferait pas de mal... Même si au final cela aurait que peu d'intérêt vu que c'est le premier projet ces dernières années qu'on me demande en ASP...

    J'aurai préféré que le client opte pour autre chose qu'un SQL Server mais il y a encore énormément d'applications qui utilisent ce SGBD, et comme il souhaite des interactions avec ses bases de logiciels de gestion, je n'ai guère le choix...
    Ton raisonnement ne me semble pas bon. Tu te fixes toi-même des contraintes là où il n'y a pas la place. Si ton client a accepté l'idée d'un dev en PHP, je ne vois pas pourquoi tu reculerais sous prétexte que tu souhaitais développer en 5.4+. Si cela avait été en PHP 4+, j'aurais compris de rester et de faire l'effort sur ASP mais là je ne vois pas.
    Sans compter un autre aspect : sans avoir pratiqué l'ASP, tu vas être bien moins productif que sur ton langage de prédilection et là généralement cela se traduit par au revoir les délais...

  5. #5
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut
    Tes observations m'ont fait quelque peu réfléchir, merci.

    Il est vrai que j'étais plus omnibulé par PHP 5.4 en raison de certaines nouveautés (purement pratiques) qui simplifient le développement : utilisation des crochets pour déclarer un tableau, appel de méthodes de classes sans instancier d'objets, la possibilité de n'utiliser que la première partie de l'opérateur ?: ...

    Mais il est clair que je ne trouverai aucun de ces avantages sur ASP non plus, et je m'en priverai très certainement aussi d'autres avec ce language...

    Je vais donc faire régresser ma version de PHP en conséquence. Merci encore pour tes conseils

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,
    Citation Envoyé par windmastr26 Voir le message
    la possibilité de n'utiliser que la première partie de l'opérateur ?:
    Cela est disponible depuis la 5.3. Ici, tu peux lire :
    L'expression (expr1) ? (expr2) : (expr3) est évaluée à expr2 si expr1 est évaluée à TRUE, et expr3 si expr1 est évaluée à FALSE.

    Depuis PHP 5.3, il est possible d'omettre la partie centrale de l'opérateur ternaire. L'expression expr1 ?: expr3 retourne expr1 si expr1 vaut TRUE, et expr3 sinon.
    Voilà, voilà

  7. #7
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut
    Oui, mais vu que je régresse en 5.2.17 je dois me priver de ces améliorations de confort...

    Mais bon à choisir je préfère m'en priver que de passer sous ASP.

    Quoi qu'il en soit j'ai fait le nécessaire et ma connexion PDO SQL Server fonctionne à merveille.

    Merci pour tes conseils

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

Discussions similaires

  1. Driver PDO pour php sous windows
    Par roussel2nis dans le forum DB2
    Réponses: 1
    Dernier message: 05/12/2011, 00h45
  2. [MySQL] Variable php dans code sql pour désigner le nom du champ
    Par prophen dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/05/2008, 14h46
  3. Réponses: 3
    Dernier message: 18/01/2007, 11h48
  4. [SGBD] requête sql en php pour mysql
    Par Thierry8 dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/09/2005, 23h31

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