Tutoriel d’installation de Linux et macOS pour les pilotes Microsoft pour PHP pour SQL Server

Les instructions suivantes supposent un environnement propre et montrent comment installer PHP 8.3, le pilote Microsoft ODBC, le serveur web Apache et les pilotes Microsoft pour PHP pour SQL Server sur Ubuntu, Red Hat, Debian, SUSE, Alpine et macOS. Vous pouvez également télécharger les binaires précompilés à partir de la page du projet GitHub Microsoft Drivers for PHP for SQL Server et les installer en suivant les instructions figurant dans Chargement des pilotes Microsoft pour PHP pour SQL Server. Pour une explication du chargement des extensions et pourquoi les extensions ne sont pas ajoutées à php.ini, voir la section sur le chargement des pilotes.

Installez les pilotes avec PIE, l’installateur PHP pour les extensions, qui est l’installateur officiel pour les extensions PHP et remplace le PECL obsolète. Suivez les étapes 1 et 2 pour votre plateforme afin d’installer PHP et le pilote Microsoft ODBC, puis utilisez Installer les pilotes avec PIE à la place de l’étape 3. Les sections de l’étape 3 documentent les commandes PECL, qui fonctionnent toujours.

Les instructions suivantes installent PHP 8.3 par défaut, si les paquets PHP 8.3 sont disponibles. Certaines distributions Linux prises en charge sont par défaut des anciennes versions de PHP, qui ne sont pas prises en charge pour la dernière version des pilotes PHP pour SQL Server. Pour installer PHP 8.4 ou 8.5 à la place, consultez les notes au début de chaque section. Si vous installez avec PECL, il faudra peut-être d’abord exécuter pecl channel-update pecl.php.net.

Vous trouverez également des instructions pour installer php FastCGI Process Manager, PHP-FPM, sur Ubuntu. PHP-FPM est nécessaire si vous utilisez le serveur web nginx au lieu d’Apache.

Bien que ces instructions contiennent des commandes pour installer SQLSRV et PDO_SQLSRV pilotes, les pilotes peuvent être installés et fonctionner indépendamment. Les utilisateurs à l’aise avec la personnalisation de leur configuration peuvent ajuster ces instructions pour qu’elles soient spécifiques à SQLSRV ou PDO_SQLSRV. Les deux pilotes ont les mêmes dépendances, sauf indication contraire.

Pour connaître les dernières versions des systèmes d’exploitation pris en charge, consultez La matrice de prise en charge.

Note

Veillez à installer la dernière version du pilote ODBC pour garantir des performances et une sécurité optimales. Pour obtenir des instructions d’installation, consultez Installer le pilote Microsoft ODBC pour SQL Server (Linux) ou installer le pilote Microsoft ODBC pour SQL Server (macOS).

Installez les pilotes avec PIE

PIE, l’installateur PHP pour les extensions, est l’installateur officiel pour les extensions PHP et remplace PECL, qui est déprécié. Les pilotes Microsoft pour PHP pour SQL Server prennent en charge PIE dans la version 5.13.2 et versions ultérieures sur Linux et macOS.

PIE n’installe que les pilotes. Complétez d’abord les étapes 1 et 2 pour votre plateforme, afin que PHP et le pilote Microsoft ODBC soient déjà en place.

Installer PIE

PIE nécessite PHP 8.1 ou ultérieur pour fonctionner, mais il peut installer une extension dans toute autre installation PHP sur la machine. PIE est distribué sous forme d’archives PHAR, de la même manière que Composer.

Les commandes suivantes installent PIE à /usr/local/bin/pie:

curl -fL --output /tmp/pie.phar https://github.com/php/pie/releases/latest/download/pie.phar
sudo mv /tmp/pie.phar /usr/local/bin/pie
sudo chmod +x /usr/local/bin/pie

Éventuellement, avant de déplacer le fichier, confirmez que le PHAR a été publié par le projet PIE. Cette étape nécessite la CLI de GitHub :

gh attestation verify --owner php /tmp/pie.phar

Pour d’autres façons d’installer PIE, consultez la documentation PIE.

Installez les pilotes SQLSRV et PDO_SQLSRV

Sur les puces Apple, définissez d’abord les options du compilateur. Homebrew installe les en-têtes unixODBC dans /opt/homebrew, qui ne figure pas dans le chemin de recherche par défaut du compilateur, et la compilation échoue avec fatal error: 'sql.h' file not found en leur absence :

export CPPFLAGS="-I/opt/homebrew/opt/unixodbc/include/"
export LDFLAGS="-L/opt/homebrew/lib/"

Installez chaque pilote avec sa propre commande :

pie install microsoft/sqlsrv
pie install microsoft/pdo_sqlsrv

Le PIE peut avoir besoin de privilèges accrus et peut vous demander votre mot de passe. PIE exécute d’abord la commande d’installation sans élévation, puis la relance avec sudo uniquement si la commande échoue en raison de droits insuffisants.

Sous Linux et macOS, PIE vérifie la présence de gcc, make, autoconf, pkg-config, libtool et phpize, et propose d’installer ceux qui manquent à l’aide du gestionnaire de paquets de votre système avant de compiler l’extension.

Note

Sur Debian et Ubuntu, PIE propose le package non versionné php-dev lorsqu’il phpize manque, qui installe les en-têtes de développement pour le PHP par défaut de la distribution. Si vous avez installé une version spécifique de PHP, installez vous-même le package correspondant, comme php8.3-dev, au lieu d’accepter l’offre.

Installez les deux pilotes séparément plutôt que dans une seule commande. Ils sont indépendants les uns des autres, et PIE échoue lorsque plusieurs extensions nommées dans une même commande partagent des options de configuration.

Installation sur Ubuntu

Note

Pour installer PHP 8.4 ou 8.5, remplacez 8.3 par 8.4 ou 8.5 dans les commandes suivantes.

Étape 1. Installer PHP (Ubuntu)

sudo su
add-apt-repository ppa:ondrej/php -y
apt-get update
apt-get install php8.3 php8.3-dev php8.3-xml -y --allow-unauthenticated

Étape 2. Prérequis d’installation (Ubuntu)

Installez le pilote ODBC pour Ubuntu en suivant les instructions de l’installation du pilote Microsoft ODBC pour SQL Server (Linux). Veillez également à installer le unixodbc-dev package. Elle est utilisée par la pecl commande pour installer les pilotes PHP.

sudo apt-get install unixodbc-dev

Étape 3. Installez les pilotes PHP pour Microsoft SQL Server avec PECL (Ubuntu)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.3/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.3/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 8.3 sqlsrv pdo_sqlsrv

S’il n’existe qu’une seule version PHP dans le système, la dernière étape peut être simplifiée.phpenmod sqlsrv pdo_sqlsrv

Étape 4. Installer Apache et configurer le chargement du pilote (Ubuntu)

sudo su
apt-get install libapache2-mod-php8.3 apache2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php8.3
exit

Étape 5. Redémarrez Apache et testez l’exemple de script (Ubuntu)

sudo service apache2 restart

Pour tester votre installation, consultez Test de votre installation à la fin de ce document.

Installation sur Ubuntu avec PHP-FPM

Note

Pour installer PHP 8.4 ou 8.5, remplacez 8.3 par 8.4 ou 8.5 dans les commandes suivantes.

Étape 1. Installer PHP (Ubuntu avec PHP-FPM)

sudo su
add-apt-repository ppa:ondrej/php -y
apt-get update
apt-get install php8.3 php8.3-dev php8.3-fpm php8.3-xml -y --allow-unauthenticated

Vérifiez l’état du service PHP-FPM en exécutant :

systemctl status php8.3-fpm

Étape 2. Prérequis d’installation (Ubuntu avec PHP-FPM)

Installez le pilote ODBC pour Ubuntu en suivant les instructions de l’installation du pilote Microsoft ODBC pour SQL Server (Linux). Veillez également à installer le unixodbc-dev package. Elle est utilisée par la pecl commande pour installer les pilotes PHP.

Étape 3. Installez les pilotes PHP pour Microsoft SQL Server avec PECL (Ubuntu avec PHP-FPM)

sudo pecl config-set php_ini /etc/php/8.3/fpm/php.ini
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.3/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.3/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 8.3 sqlsrv pdo_sqlsrv

S’il n’existe qu’une seule version PHP dans le système, la dernière étape peut être simplifiée.phpenmod sqlsrv pdo_sqlsrv

Vérifiez que sqlsrv.ini et pdo_sqlsrv.ini se trouvent dans /etc/php/8.3/fpm/conf.d/:

ls /etc/php/8.3/fpm/conf.d/*sqlsrv.ini

Redémarrez le service PHP-FPM :

sudo systemctl restart php8.3-fpm

Étape 4. Installer et configurer nginx (Ubuntu avec PHP-FPM)

sudo apt-get update
sudo apt-get install nginx
sudo systemctl status nginx

Pour configurer nginx, vous devez modifier le /etc/nginx/sites-available/default fichier. Ajoutez index.php à la liste ci-dessous la section qui indique # Add index.php to the list if you are using PHP:

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;

Annulez le commentaire et modifiez la section suivante après # pass PHP scripts to FastCGI server comme suit :

# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}

Étape 5. Redémarrez nginx et testez l’exemple de script (Ubuntu avec PHP-FPM)

sudo systemctl restart nginx.service

Pour tester votre installation, consultez Test de votre installation à la fin de ce document.

Installation sur Red Hat

Étape 1. Installer PHP (Red Hat)

Pour installer PHP sur Red Hat 8, exécutez les commandes suivantes :

Note

Pour installer PHP 8.4 ou 8.5, remplacez remi-8.3 par remi-8.4 ou remi-8.5 respectivement dans les commandes suivantes.

sudo su
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf install yum-utils
dnf module reset php
dnf module install php:remi-8.3
subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
dnf update
# Note: The php-pdo package is required only for the PDO_SQLSRV driver
dnf install php-pdo php-pear php-devel

Étape 2. Prérequis d’installation (Red Hat)

Installez le pilote ODBC pour Red Hat 8 en suivant les instructions de l’installation du pilote Microsoft ODBC pour SQL Server (Linux). Veillez également à installer le unixodbc-dev package. Elle est utilisée par la pecl commande pour installer les pilotes PHP.

Étape 3. Installez les pilotes PHP pour Microsoft SQL Server avec PECL (Red Hat)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/30-pdo_sqlsrv.ini
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/20-sqlsrv.ini
exit

Vous pouvez également effectuer l’installation à partir du dépôt Remi :

sudo yum install php-sqlsrv

Étape 4. Installer Apache (Red Hat)

sudo yum install httpd

SELinux est installé par défaut et s’exécute en mode Imposant. Pour autoriser Apache à se connecter aux bases de données via SELinux, exécutez la commande suivante :

sudo setsebool -P httpd_can_network_connect_db 1

Étape 5. Redémarrez Apache et testez l’exemple de script (Red Hat)

sudo apachectl restart

Pour tester votre installation, consultez Test de votre installation à la fin de ce document.

Installation sur Debian

Note

Pour installer PHP 8.4 ou 8.5, remplacez 8.3 dans les commandes suivantes par 8.4 ou 8.5.

Étape 1. Installer PHP (Debian)

sudo su
apt-get install curl apt-transport-https
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
apt-get install -y php8.3 php8.3-dev php8.3-xml php8.3-intl

Étape 2. Installer les prérequis (Debian)

Installez le pilote ODBC pour Debian en suivant les instructions de l’installation du pilote Microsoft ODBC pour SQL Server (Linux). Veillez également à installer le unixodbc-dev package. Elle est utilisée par la pecl commande pour installer les pilotes PHP.

Vous devrez peut-être également générer les paramètres régionaux appropriés pour obtenir la sortie PHP à afficher correctement dans un navigateur. Par exemple, pour les paramètres régionaux UTF-8 en_US, exécutez les commandes suivantes :

sudo su
sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
locale-gen

Vous devrez peut-être ajouter /usr/sbin à votre $PATH, car l’exécutable locale-gen se trouve là.

Étape 3. Installez les pilotes PHP pour Microsoft SQL Server avec PECL (Debian)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.3/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.3/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 8.3 sqlsrv pdo_sqlsrv

S’il n’existe qu’une seule version PHP dans le système, la dernière étape peut être simplifiée.phpenmod sqlsrv pdo_sqlsrv Comme pour locale-gen, phpenmod est situé dans /usr/sbin, vous devrez donc peut-être ajouter ce répertoire à votre $PATH.

Étape 4. Installer Apache et configurer le chargement du pilote (Debian)

sudo su
apt-get install libapache2-mod-php8.3 apache2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php8.3

Étape 5. Redémarrez Apache et testez l’exemple de script (Debian)

sudo service apache2 restart

Pour tester votre installation, consultez Test de votre installation à la fin de ce document.

Installation sur SUSE

Note

Dans les instructions suivantes, remplacez <SuseVersion> par votre version de SUSE : si vous utilisez SUSE Linux Enterprise Server 15, il s’agit de SLE_15_SP3 ou de SLE_15_SP4 (ou version ultérieure). Toutes les versions de PHP ne sont pas disponibles pour toutes les versions de SUSE Linux. Reportez-vous à http://download.opensuse.org/repositories/devel:/languages:/php la rubrique pour savoir quelles versions de SUSE ont la version par défaut de PHP disponible, ou vérifiez http://download.opensuse.org/repositories/devel:/languages:/php:/ quelles autres versions de PHP sont disponibles pour quelles versions de SUSE.

Étape 1. Installer PHP (SUSE)

sudo su
zypper -n ar -f https://download.opensuse.org/repositories/devel:languages:php/<SuseVersion>/devel:languages:php.repo
zypper --gpg-auto-import-keys refresh
zypper -n install php8 php8-pdo php8-devel php8-openssl

Étape 2. Prérequis d’installation (SUSE)

Installez le pilote ODBC pour SUSE en suivant les instructions de l’installation du pilote Microsoft ODBC pour SQL Server (Linux). Veillez également à installer le unixodbc-dev package. Elle est utilisée par la pecl commande pour installer les pilotes PHP.

Étape 3. Installez les pilotes PHP pour Microsoft SQL Server avec PECL (SUSE)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/pdo_sqlsrv.ini
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/sqlsrv.ini
exit

Étape 4. Installer Apache et configurer le chargement du pilote (SUSE)

sudo su
zypper install apache2 apache2-mod_php8
a2enmod php8
echo "extension=sqlsrv.so" >> /etc/php8/apache2/php.ini
echo "extension=pdo_sqlsrv.so" >> /etc/php8/apache2/php.ini
exit

Étape 5. Redémarrez Apache et testez l’exemple de script (SUSE)

sudo systemctl restart apache2

Pour tester votre installation, consultez Test de votre installation à la fin de ce document.

Installation sur Alpine

Note

PHP 8.3 ou version ultérieure peut être disponible à partir de dépôts de test ou de périphérie pour Alpine. Vous pouvez à la place compiler PHP à partir de la source.

Étape 1. Installer PHP (Alpine)

Les packages PHP pour Alpine sont disponibles dans le edge/community référentiel. Vérifiez activer le référentiel de la communauté sur leur page WIKI. Ajoutez la ligne suivante à /etc/apk/repositories, en remplaçant <mirror> par l’URL d’un miroir de référentiels Alpine :

http://<mirror>/alpine/edge/community

Ensuite, exécutez :

sudo su
apk update
# Note: The php*-pdo package is required only for the PDO_SQLSRV driver
# For PHP 8.*
apk add php8 php8-dev php8-pear php8-pdo php8-openssl autoconf make g++
# The following symbolic links are optional but useful
ln -s /usr/bin/php8 /usr/bin/php
ln -s /usr/bin/phpize8 /usr/bin/phpize
ln -s /usr/bin/pecl8 /usr/bin/pecl
ln -s /usr/bin/php-config8 /usr/bin/php-config

Étape 2. Installer les prérequis (Alpine)

Installez le pilote ODBC pour Alpine en suivant les instructions de l’installation du pilote Microsoft ODBC pour SQL Server (Linux). Veillez également à installer le unixodbc-dev package (sudo apk add unixodbc-dev). Elle est utilisée par la pecl commande pour installer les pilotes PHP.

Étape 3. Installez les pilotes PHP pour Microsoft SQL Server avec PECL (Alpine)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/10_pdo_sqlsrv.ini
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/20_sqlsrv.ini

Étape 4. Installer Apache et configurer le chargement du pilote (Alpine)

# For PHP 8.*
sudo apk add php8-apache2 apache2

Étape 5. Redémarrez Apache et testez l’exemple de script (Alpine)

sudo rc-service apache2 restart

Pour tester votre installation, consultez Test de votre installation à la fin de ce document.

Installation sur macOS

Si vous ne l’avez pas déjà, installez brew comme suit :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Note

Pour installer PHP 8.4 ou 8.5, remplacez php@8.3 par php@8.4 ou php@8.5 respectivement dans les commandes suivantes.

Étape 1. Installer PHP (macOS)

brew install php@8.3

PHP doit maintenant se trouver dans votre variable PATH. Exécutez php -v pour vérifier que vous utilisez la version correcte de PHP. Si PHP n’est pas dans votre chemin d’accès ou s’il ne s’agit pas de la version correcte, exécutez les commandes suivantes :

brew link --force --overwrite php@8.3

Si vous utilisez Apple M1 ARM64, vous devrez peut-être définir le chemin d’accès :

export PATH="/opt/homebrew/bin:$PATH"

Étape 2. Prérequis d’installation (macOS)

Installez le pilote ODBC pour macOS en suivant les instructions de l’installation du pilote Microsoft ODBC pour SQL Server (macOS).

Note

Si vous utilisez le matériel Apple M1 ARM64, installez directement le pilote Microsoft ODBC 17.8+ sans utiliser l’émulateur Rosetta 2.

En outre, vous devrez peut-être installer les outils de création GNU :

brew install autoconf automake libtool

Étape 3. Installez les pilotes PHP pour Microsoft SQL Server avec PECL (macOS)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

Si vous utilisez Apple M1 ARM64, procédez comme suit :

sudo CXXFLAGS="-I/opt/homebrew/opt/unixodbc/include/" LDFLAGS="-L/opt/homebrew/lib/" pecl install sqlsrv
sudo CXXFLAGS="-I/opt/homebrew/opt/unixodbc/include/" LDFLAGS="-L/opt/homebrew/lib/" pecl install pdo_sqlsrv

Étape 4. Installer Apache et configurer le chargement du pilote (macOS)

Note

Depuis la version 11.0 Big Sur, macOS est fourni avec Apache 2.4 préinstallé, mais Apple a supprimé certains scripts requis. La solution consiste à installer Apache 2.4 via Homebrew et à le configurer. Cette étape est hors de portée pour ce guide d’installation. Consultez Apache ou Homebrew pour obtenir des instructions détaillées.

brew install apache2

Pour rechercher le fichier de configuration Apache, httpd.confpour votre installation Apache, exécutez :

/usr/local/bin/apachectl -V | grep SERVER_CONFIG_FILE

Les commandes suivantes ajoutent la configuration requise à httpd.conf. Veillez à remplacer le chemin retourné par la commande précédente à la place de /usr/local/etc/httpd/httpd.conf:

echo "LoadModule php7_module /usr/local/opt/php@8.3/lib/httpd/modules/libphp7.so" >> /usr/local/etc/httpd/httpd.conf
(echo "<FilesMatch .php$>"; echo "SetHandler application/x-httpd-php"; echo "</FilesMatch>";) >> /usr/local/etc/httpd/httpd.conf

Étape 5. Redémarrez Apache et testez l’exemple de script (macOS)

sudo apachectl restart

Pour tester votre installation, consultez Test de votre installation à la fin de ce document.

Test de votre installation

Pour tester cet exemple de script, créez un fichier appelé testsql.php dans la racine du document de votre système. Ce chemin se trouve /var/www/html/ sur Ubuntu, Debian et Red Hat, /srv/www/htdocs sur SUSE, /var/www/localhost/htdocs sur Alpine ou /usr/local/var/www sur macOS. Copiez le script suivant, en remplaçant le serveur, la base de données, le nom d’utilisateur et le mot de passe appropriés.

Exemple SQLSRV

<?php
$serverName = "yourServername";
$connectionOptions = array(
    "database" => "yourDatabase",
    "uid" => "yourUsername",
    "pwd" => "yourPassword"
);

function exception_handler($exception) {
    echo "<h1>Failure</h1>";
    echo "Uncaught exception: " , $exception->getMessage();
    echo "<h1>PHP Info for troubleshooting</h1>";
    phpinfo();
}

set_exception_handler('exception_handler');

// Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
    die(formatErrors(sqlsrv_errors()));
}

// Select Query
$tsql = "SELECT @@Version AS SQL_VERSION";

// Executes the query
$stmt = sqlsrv_query($conn, $tsql);

// Error handling
if ($stmt === false) {
    die(formatErrors(sqlsrv_errors()));
}
?>

<h1> Success Results : </h1>

<?php
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
    echo $row['SQL_VERSION'] . PHP_EOL;
}

sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);

function formatErrors($errors)
{
    // Display errors
    echo "<h1>SQL Error:</h1>";
    echo "Error information: <br/>";
    foreach ($errors as $error) {
        echo "SQLSTATE: ". $error['SQLSTATE'] . "<br/>";
        echo "Code: ". $error['code'] . "<br/>";
        echo "Message: ". $error['message'] . "<br/>";
    }
}
?>

Exemple PDO_SQLSRV

<?php
try {
    $serverName = "yourServername";
    $databaseName = "yourDatabase";
    $uid = "yourUsername";
    $pwd = "yourPassword";
    
    $conn = new PDO("sqlsrv:server = $serverName; Database = $databaseName;", $uid, $pwd);

    // Select Query
    $tsql = "SELECT @@Version AS SQL_VERSION";

    // Executes the query
    $stmt = $conn->query($tsql);
} catch (PDOException $exception1) {
    echo "<h1>Caught PDO exception:</h1>";
    echo $exception1->getMessage() . PHP_EOL;
    echo "<h1>PHP Info for troubleshooting</h1>";
    phpinfo();
}

?>

<h1> Success Results : </h1>

<?php
try {
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $row['SQL_VERSION'] . PHP_EOL;
    }
} catch (PDOException $exception2) {
    // Display errors
    echo "<h1>Caught PDO exception:</h1>";
    echo $exception2->getMessage() . PHP_EOL;
}

unset($stmt);
unset($conn);
?>

Dirigez votre navigateur vers https://localhost/testsql.php (https://localhost:8080/testsql.php sur macOS). Vous devez maintenant être en mesure de vous connecter à votre base de données SQL Server/Azure SQL. Si vous ne voyez pas de message de réussite montrant les informations de version SQL, vous pouvez effectuer une résolution des problèmes de base en exécutant le script à partir de la ligne de commande :

php testsql.php

Si l’exécution à partir de la ligne de commande réussit, mais rien ne s’affiche dans votre navigateur, vérifiez les fichiers journaux Apache. Pour obtenir de l’aide supplémentaire, consultez les ressources de support pour les endroits où aller.