+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Membre du Club Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2009
    Messages
    204
    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 : 204
    Points : 67
    Points
    67

    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 :
    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 691
    Points : 8 949
    Points
    8 949

    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.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  3. #3
    Membre du Club Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2009
    Messages
    204
    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 : 204
    Points : 67
    Points
    67

    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 691
    Points : 8 949
    Points
    8 949

    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...
    # Dans la Création, tout est permis mais tout n'est pas utile...

  5. #5
    Membre du Club Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2009
    Messages
    204
    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 : 204
    Points : 67
    Points
    67

    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 691
    Points : 8 949
    Points
    8 949

    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à
    # Dans la Création, tout est permis mais tout n'est pas utile...

  7. #7
    Membre du Club Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2009
    Messages
    204
    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 : 204
    Points : 67
    Points
    67

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •