Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique fournit des instructions pour le chargement des pilotes Microsoft SQL Server pour PHP dans l’espace de processus PHP.
Installez les pilotes sur Windows avec PIE
PIE, l’installateur PHP pour les extensions, installe les fichiers de pilotes précompilés correspondants et les active dans la configuration en ligne de commande PHP. Windows n'a pas besoin d'une chaîne d'outils de build.
Installez une version PHP prise en charge ainsi que le pilote Microsoft ODBC pour SQL Server.
Exécutez
php --ini. Si le fichier de configuration chargé est(none), copiez php.ini-développement depuis le répertoire d’installation PHP vers php.ini dans le même répertoire.Dans php.ini, définissez le répertoire d’extension et activez les
opensslextensions etzip:extension_dir = "ext" extension=openssl extension=zipDepuis un répertoire de travail scriptable, téléchargez le dernier fichier stable
pie.phar. La commande fonctionne dans l’invite de commande et PowerShell :curl.exe -fL --output pie.phar https://github.com/php/pie/releases/latest/download/pie.pharSi vous avez la ligne de contrôle de GitHub, vérifiez que la Fondation PHP a publié le fichier :
gh attestation verify --owner php .\pie.pharInstallez les deux pilotes en utilisant l’exécutable PHP sur
PATH:php .\pie.phar install microsoft/sqlsrv php .\pie.phar install microsoft/pdo_sqlsrvVérifiez que le même runtime en ligne de commande PHP charge les deux pilotes :
php --ri sqlsrv php --ri pdo_sqlsrv
Pour d’autres méthodes d’installation de PIE, consultez la documentation d’utilisation de PIE.
Installez les pilotes sur Linux et macOS
Installez les pilotes et leurs dépendances de plateforme avec PIE comme décrit dans le tutoriel d’installation Linux et macOS.
Installer manuellement des pilotes précompilés
Vous pouvez télécharger les pilotes préconfigurés depuis la page Microsoft Drivers for PHP for SQL Server. Le téléchargement pour Windows est un fichier ZIP qui contient les fichiers de pilote SQLSRV et PDO_SQLSRV pour chaque version de PHP, architecture et mode de sécurité des threads pris en charge. Sélectionnez les fichiers qui correspondent à votre environnement PHP. Voir les exigences système pour la liste des fichiers.
Vous pouvez également générer les pilotes à partir de la source lors de l’étape de build de PHP ou avec phpize. Dans ce cas, vous aurez la possibilité de les créer de manière statique dans PHP, et non en tant qu’extensions partagées, en ajoutant --enable-sqlsrv=static --with-pdo_sqlsrv=static (sur Linux et macOS) ou --enable-sqlsrv=static --with-pdo-sqlsrv=static (sur Windows) à la commande ./configure pendant l’étape de build de PHP. Pour plus d’informations sur le système de build de PHP et phpize, consultez la Documentation de PHP.
Déplacement du fichier de pilote dans votre répertoire d’extension
Le fichier de pilote doit se trouver dans un répertoire accessible au runtime PHP. Il est plus simple de placer le fichier de pilote dans votre répertoire d’extension PHP par défaut pour rechercher le répertoire par défaut, s’exécuter php -i | sls extension_dir sur Windows ou php -i | grep extension_dir sur Linux/macOS. Si vous n’utilisez pas le répertoire d’extension par défaut, spécifiez un répertoire dans le fichier de configuration PHP (php.ini), à l’aide de l’option extension_dir . Par exemple, sur Windows, si vous placez le fichier de pilote dans votre c:\php\ext répertoire, ajoutez la ligne suivante à php.ini:
extension_dir = "c:\PHP\ext"
Chargement du pilote au démarrage de PHP
Pour charger le pilote SQLSRV au démarrage de PHP, commencez par déplacer un fichier de pilote dans votre répertoire d’extension. Ensuite, procédez comme suit :
Pour activer le pilote SQLSRV , modifiez php.ini en ajoutant la ligne suivante à la section de l’extension, en modifiant le nom de fichier en fonction de votre version PHP et thread safe et de l’installation non sécurisée de threads :
Sur Windows :
extension=php_sqlsrv_83_ts.dllSur Linux, si vous avez téléchargé les fichiers binaires prédéfinis pour votre distribution :
extension=php_sqlsrv_83_nts.soSi vous avez compilé le binaire SQLSRV depuis le code source, ou si vous l’avez installé avec PIE ou PECL, son nom est sqlsrv.so :
extension=sqlsrv.soPour activer le pilote PDO_SQLSRV, l’extension PHP Data Objects (PDO) doit être disponible, soit en tant qu’extension intégrée, soit sous forme d’extension chargée dynamiquement.
Sur Windows, les fichiers binaires PHP prédéfinis sont intégrés à PDO. Il n’est donc pas nécessaire de modifier php.ini pour le charger. Toutefois, si vous avez compilé PHP à partir de la source et spécifié une extension PDO distincte à générer, son nom est
php_pdo.dllet vous devez le copier dans votre répertoire d’extension et ajouter la ligne suivante à php.ini:extension=php_pdo.dllSur Linux, si vous avez installé PHP à l’aide du gestionnaire de package de votre système, PDO est probablement installé en tant qu’extension chargée dynamiquement nommée pdo.so. L'extension PDO doit être chargée avant l'extension PDO_SQLSRV, sinon le chargement échoue. Les extensions sont chargées à l’aide de fichiers .ini individuels, et ces fichiers sont lus après php.ini. Par conséquent, si pdo.so est chargé par le biais de son propre fichier .ini, un fichier distinct permettant de charger le pilote PDO_SQLSRV après PDO est nécessaire.
Pour savoir dans quel répertoire se trouvent les fichiers .ini de chaque extension, exécutez
php --iniet notez le répertoire indiqué sousScan for additional .ini files in:. Recherchez le fichier qui charge pdo.so. Il doit être précédé d’un nombre, tel que 10-pdo.ini. Le préfixe numérique indique l’ordre de chargement des fichiers .ini, tandis que les fichiers qui n’ont pas de préfixe numérique sont chargés par ordre alphabétique. Créez un fichier pour charger le fichier de pilote PDO_SQLSRV appelé 30-pdo_sqlsrv.ini (n’importe quel nombre supérieur à celui qui préfixe pdo.ini fonctionne) ou pdo_sqlsrv.ini (si pdo.ini n’est pas précédé d’un nombre) et ajoutez-y la ligne suivante, en modifiant le nom de fichier le cas échéant :extension=php_pdo_sqlsrv_3_nts.soComme pour SQLSRV, si vous avez compilé le binaire PDO_SQLSRV depuis le code source, ou si vous l’avez installé avec PIE ou PECL, son nom est pdo_sqlsrv.so :
extension=pdo_sqlsrv.soCopiez ce fichier dans le répertoire contenant les autres fichiers .ini.
Si vous avez compilé PHP à partir de la source avec prise en charge intégrée de PDO, vous n’avez pas besoin d’un fichier .ini distinct et vous pouvez ajouter la ligne précédente à php.ini.
Redémarrez le serveur web.
Note
Pour déterminer si le pilote est correctement chargé, exécutez un script qui appelle phpinfo().
Pour plus d’informations sur les directives php.ini, consultez Description des principales directives php.ini.