SQL Server : PHP et SQL Server
Juste une petite synthèse sur les possibilités de connecter une application PHP sur un serveur SQL Server. Non pas que je me sois reconverti en développeur PHP, mais je constate qu'actuellement il est très difficile dans un environnement PHP et particulièrement PHP Linux/Unix de se connecter à un serveur SQL Server.
Microsoft a bien diffusé un driver pour PHP permettant de se connecter à SQL Server :
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9
Ce driver en est à la version 1.1, il supporte SQL Server jusqu'à la version 2008. Cependant ce dernier ne supporte que les plateformes Windows ! Exit donc la possibilité de se connecter depuis une machine Linux ou Unix qui sont pourtant nombreuses et qui du coup vous donne le choix entre MySQL et de temps à autres d'autres moteurs nativement.
Il existe pour les applications PHP une alternative qui s'appelle PDO permettant de remplacer le support MySQL par un moteur alternatif, à condition que ce dernier dispose d'un driver PDO. A ce jour un certain nombre de moteurs disposent de ces drivers : SQL Lite, PostGreSQL, etc. Côté SQL Server c'est non, çà n'existe pas. On vous dira alors que sous Windows il est possible d'utiliser le driver PDO pour odbc et par le biais d'ODBC d'utiliser le driver natif de SQL Server.
Outre le fait que passer par ODBC est une solution spécifique à Windows (aucuns drivers SQL Server pour ODBC ne sont fournis pour une autre plateforme que Windows), cette dernière souffre des limitations inhérentes à ODBC.
Que reste-il à notre disposition pour les connexions depuis Unix/Linux vers SQL Server ? Un seul outil FreeTDS , qui permet le support direct du protocole TDS commun à Sybase et Microsoft sur les plateformes Unix et Linux. Malgré la diffusion récente de la documentation de TDS par Microsoft, cet outil a une mauvaise réputation dans le monde communautaire, fournit un support partiel de toutes les fonctionnalités de SQL Server et, de fait, se trouve relégué à des applications peu critiques.
Au final il y a un vrai manque : Comment peut-on développer des applications PHP travaillant par exemple sur SQL Server, solutions toutes deux gratuites, sans passer par une solution propriétaire et payante ? Personnellement je verrais bien dans un futur plus ou moins proche un WordPress fonctionnant sur un SQL Server plutôt qu'un MySQL… Rêvons un peu !
Si vous souhaitez voir un jour un driver PDO pour SQL Server… eh bien votez :
https://connect.microsoft.com/SQLServer/feedback/details/541956/pdo-driver-for-sql-server
Bon vote…
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :