Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Configurer PHP pour se connecter à une base de données Microsoft

Par Mathieu DELMARRE Publié le 25/04/2020 à 16:28:24 Noter cet article:
(0 votes)
En attente de relecture par le comité de lecture

Nativement php n'est pas capable de réaliser des requêtes sur une base de données SQL Server Microsoft.

.

Dans cet article, nous verrons comment se connecter à une base de données Microsoft à l'aide de PHP.

.

Lors de la rédaction de cet article, nous étions à la version 7.4.5 de php.

$ php --version
PHP 7.4.5 (cli) (built: Apr XX 2020 XX:XX:XX) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

Les drivers PDO

PHP Data Object ou PDO, ce sont des extensions définissant l'interface pour accéder à une base de données.

PDO - sqlsrv

Dans cet article nous verrons l'installation de l'extension pdo_sqlsrv.

Cette extension est utilisée pour accéder à une base de données Microsoft SQL serveur.

Pré-requis

Sur votre machine vous devez

Vous pouvez vérifier les extensions activé sur votre php via cette commande :

$ php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
hash
iconv
intl
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlsrv
Phar
readline
Reflection
session
SimpleXML
SPL
sqlsrv
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]

Installation sur Windows de sqlsrv - EXTENSION PHP

Vous retrouverez les versions de l'extension sur https://pecl.php.net/package/sqlsrv.

Télécharger celle correspondante à votre machine. (x86 ou x64). En revanche veillez télécharger la version (TS) pour Thread Safe.

Pour la rédaction de l'article nous étions à la version 5.8.1. https://pecl.php.net/package/sqlsrv/5.8.1/windows.

Installer le contenu de l'archive dans votre dossier "/ext" de votre dossier php.

Installation sur Windows de pdo_sqlsrv - EXTENSION PHP

Les versions de l'extension sur https://pecl.php.net/package/pdo_sqlsrv.

Télécharger celle correspondante à votre machine. (x86 ou x64). En revanche veillez télécharger la version (TS) pour Thread Safe.

https://pecl.php.net/package/pdo_sqlsrv/5.8.1/windows

Installer le contenu de l'archive dans votre dossier "/ext" de votre dossier php.

INFOS : Deux extensions doivent être téléchargées : [pdo_sqlsrv & sqlsrv]

Dans votre dossier /ext de votre php

Nous avons rajoutés plusieurs extensions. Qui sont : php_sqlsrv.dll et php_pdo_sqlsrv.dll.

Pour exemple voici le path de mon dossier php :

cd L:\wamp64\bin\php\php7.4.5\ext

Activer les extensions dans php.ini

Dans vore fichier php.ini.

Ajoutez les deux lignes suivantes.

#L:\wamp64\bin\php\php7.4.5\php.ini
extension=php_pdo_sqlsrv.dll
extension=php_sqlsrv.dll

Vérifiez l'installation des extensions

Ouvrez votre Terminal. Puis lancer php en mode intéractif.

$ php -a
$ print_r(get_loaded_extensions());

Résultat des commandes précédentes :

$ php -a
Interactive shell

php > }print_r(get_loaded_extensions());
Array
(
    [0] => Core
    [1] => bcmath
    [2] => calendar
    [3] => ctype
    [4] => date
    [5] => filter
    [6] => hash
    [7] => iconv
    [8] => json
    [9] => SPL
    [10] => pcre
    [11] => readline
    [12] => Reflection
    [13] => session
    [14] => standard
    [15] => mysqlnd
    [16] => tokenizer
    [17] => zip
    [18] => zlib
    [19] => libxml
    [20] => dom
    [21] => PDO
    [22] => openssl
    [23] => SimpleXML
    [24] => xml
    [25] => xmlreader
    [26] => xmlwriter
    [27] => curl
    [28] => fileinfo
    [29] => gd
    [30] => intl
    [31] => mbstring
    [32] => exif
    [33] => Phar
    [34] => pdo_mysql
    [35] => pdo_sqlsrv
    [36] => sqlsrv
)
php > print_r(PDO::getAvailableDrivers());
Array
(
    [0] => mysql
    [1] => sqlsrv
)

Vous retrouverez dans la liste, pdo_sqlsrv et sqlsrv si votre installation c'est bien déroulé.

.

Dans ma version php, d'autres extensions ont été installées pour des besoins différents que ceux énoncé dans cet article.

Si vous avez une erreur lorsque vous lancez la console php. Il sera nécessaire de vérifier l'exactitude des extensions ajoutées. Il peut être nécessaire de configurer dans php.ini, la localisation de votre dossier "/ext".

Conclusion

Votre ordinateur possède une version php avec l'extension sqlsrv permettant de communiquer avec une base de données Microsoft.

De multiple extension existent permettant d'enrichir votre php, selon vos besoins.

A noter : A chaque modification de votre php.ini, il est nécessaire de relancer votre serveur exécutant php.

.

De multiple driver php existent pour vous connecter à différent types de base de donnés. Dans cet article nous avons vu celui de Microsoft. Nativement php détient celui de Mysql, mais vous pouvez aller plus loin en utilisant celui du Mongodb, de Redis ou de PostgreSQL.

.

Pour connaitre la liste des drivers PDO disponible rendez vous sur https://www.php.net/manual/fr/pdo.drivers.php.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels