Tutorial zur Linux- und macOS-Installation für die Microsoft-Treiber für PHP für SQL Server

Die folgende Anleitung setzt eine Umgebung im Originalzustand voraus und zeigt, wie PHP 8.1, der Microsoft ODBC-Treiber, der Apache-Webserver und die Microsoft-Treiber für PHP für SQL Server unter Ubuntu, Red Hat, Debian, SUSE, Alpine und macOS installiert werden. In dieser Anleitung wird empfohlen, die Treiber mit PECL zu installieren, aber Sie können auch die vorab erstellten Binärdateien von der GitHub-Projektseite Microsoft Drivers for PHP for SQL Server (Microsoft-Treiber für PHP für SQL Server) herunterladen und gemäß den Anweisungen unter Laden der Microsoft-Treiber für PHP für SQL Server installieren. Eine Beschreibung des Ladevorgangs von Erweiterungen und die Gründe, warum die Erweiterungen nicht zur php.ini-Datei hinzugefügt werden, finden Sie im Abschnitt zum Laden der Treiber.

In der folgenden Anleitung wird gezeigt, wie Sie PHP 8.1 standardmäßig mit pecl install installieren, wenn die PHP 8.1-Pakete verfügbar sind. Möglicherweise müssen Sie zuerst pecl channel-update pecl.php.net ausführen. In einige unterstützte Linux-Distributionen ist standardmäßig PHP 7.1 oder niedriger integriert. Dies wird für die neuste Version der PHP-Treiber für SQL Server nicht unterstützt. Lesen Sie sich die Hinweise am Anfang der einzelnen Abschnitte durch, um zu erfahren, wie Sie stattdessen PHP 8.2 oder 8.3 installieren.

In dieser Anleitung sind auch Anweisungen zum Installieren von PHP FastCGI Process Manager (PHP-FPM) unter Ubuntu enthalten. PHP-FPM ist bei Verwendung des nginx-Webservers anstelle von Apache erforderlich.

Diese Anweisungen enthalten zwar Befehle zum Installieren von SQLSRV- und PDO_SQLSRV-Treibern, die Treiber können jedoch unabhängig installiert und funktionsfähig sein. Benutzer, die mit der Anpassung Ihrer Konfiguration vertraut sind, können diese Anweisungen SQLSRV- oder PDO_SQLSRV-spezifisch anpassen. Die Abhängigkeiten beider Treiber sind abgesehen von den unten angegebenen Ausnahmen identisch.

Die neueste unterstützte Version des Betriebssystems finden Sie unter Supportmatrix.

Hinweis

Stellen Sie sicher, dass Sie die neueste ODBC-Treiberversion installiert haben, um optimale Leistung und Sicherheit zu gewährleisten. Installationsanweisungen finden Sie unter Installieren des Microsoft ODBC-Treibers für SQL Server (Linux) oder Installieren des Microsoft ODBC-Treibers für SQL Server (macOS).

Installation unter Ubuntu

Hinweis

Ersetzen Sie die Versionsnummer 8.1 in den folgenden Befehlen durch 8.2 oder 8.3, um PHP 8.2 bzw. 8.3 zu installieren.

Schritt 1. Installieren von PHP (Ubuntu)

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

Schritt 2: Installieren der erforderlichen Komponenten (Ubuntu)

Installieren Sie den ODBC-Treiber für Ubuntu, indem Sie die Anleitung auf der Seite zur Installation des Microsoft ODBC Driver for SQL Server (Linux) befolgen. Außerdem muss das Paket unixodbc-dev installiert werden. Dieses wird vom Befehl pecl zum Installieren der PHP-Treiber verwendet.

sudo apt-get install unixodbc-dev

Schritt 3: Installieren der PHP-Treiber für Microsoft SQL Server (Ubuntu)

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

Wenn nur eine PHP-Version im System vorhanden ist, kann der letzte Schritt zu phpenmod sqlsrv pdo_sqlsrv vereinfacht werden.

Schritt 4. Installieren von Apache und Konfigurieren des Treiberladevorgangs (Ubuntu)

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

Schritt 5: Neustarten von Apache und Testen des Beispielskripts (Ubuntu)

sudo service apache2 restart

Hinweise zum Testen der Installation finden Sie am Ende dieses Dokuments.

Installation unter Ubuntu mit PHP-FPM

Hinweis

Ersetzen Sie die Versionsnummer 8.1 in den folgenden Befehlen durch 8.2 oder 8.3, um PHP 8.2 bzw. 8.3 zu installieren.

Schritt 1. Installieren von PHP (Ubuntu mit PHP-FPM)

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

Überprüfen Sie den Status des PHP-FPM-Diensts, indem Sie Folgendes ausführen:

systemctl status php8.1-fpm

Schritt 2: Installieren der erforderlichen Komponenten (Ubuntu mit PHP-FPM)

Installieren Sie den ODBC-Treiber für Ubuntu, indem Sie die Anleitung auf der Seite zur Installation des Microsoft ODBC Driver for SQL Server (Linux) befolgen. Außerdem muss das Paket unixodbc-dev installiert werden. Dieses wird vom Befehl pecl zum Installieren der PHP-Treiber verwendet.

Schritt 3: Installieren der PHP-Treiber für Microsoft SQL Server (Ubuntu mit PHP-FPM)

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

Wenn nur eine PHP-Version im System vorhanden ist, kann der letzte Schritt zu phpenmod sqlsrv pdo_sqlsrv vereinfacht werden.

Überprüfen Sie, ob sqlsrv.ini und pdo_sqlsrv.ini sich in /etc/php/8.1/fpm/conf.d/ befinden:

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

Starten Sie den PHP-FPM-Dienst neu:

sudo systemctl restart php8.1-fpm

Schritt 4. Installieren und Konfigurieren von nginx (Ubuntu mit PHP-BPM)

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

Zum Konfigurieren von nginx müssen Sie die Datei /etc/nginx/sites-available/default bearbeiten. Fügen Sie index.php zu der Liste unterhalb des Abschnitts # Add index.php to the list if you are using PHP hinzu:

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

Heben Sie als Nächstes die Auskommentierung auf, und ändern Sie den auf # pass PHP scripts to FastCGI server folgenden Abschnitt wie folgt:

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

Schritt 5: Neustarten von nginx und Testen des Beispielskripts (Ubuntu mit PHP-FPM)

sudo systemctl restart nginx.service

Hinweise zum Testen der Installation finden Sie am Ende dieses Dokuments.

Installation unter Red Hat

Schritt 1: Installieren von PHP (Red Hat)

Führen Sie zum Installieren von PHP unter Red Hat 7 folgende Befehle aus:

Hinweis

Ersetzen Sie die Zeichenfolge „remi-php81“ in den folgenden Befehlen durch „remi-php82“ oder „remi-php83“, um PHP 8.2 bzw. 8.3 zu installieren.

sudo su
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
subscription-manager repos --enable=rhel-7-server-optional-rpms
yum install yum-utils
yum-config-manager --enable remi-php81
yum update
# Note: The php-pdo package is required only for the PDO_SQLSRV driver
yum install php php-pdo php-pear php-devel

Führen Sie zum Installieren von PHP unter Red Hat 8 folgende Befehle aus:

Hinweis

Ersetzen Sie die Zeichenfolge „remi-8.1“ in den folgenden Befehlen durch „remi-8.2“ oder „remi-8.3“, um PHP 8.2 bzw. 8.3 zu installieren.

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.1
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

Schritt 2. Installieren von Voraussetzungen (Red Hat)

Installieren Sie den ODBC-Treiber für Red Hat 7 oder 8, indem Sie die Anleitung auf der Seite zur Installation des Microsoft ODBC Driver for SQL Server (Linux) befolgen. Außerdem muss das Paket unixodbc-dev installiert werden. Dieses wird vom Befehl pecl zum Installieren der PHP-Treiber verwendet.

Schritt 3: Installieren der PHP-Treiber für Microsoft SQL Server (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

Alternativ dazu können Sie die Treiber auch aus dem Remi-Repository installieren:

sudo yum install php-sqlsrv

Schritt 4. Installieren von Apache (Red Hat)

sudo yum install httpd

SELinux wird standardmäßig installiert und im Modus „Erzwingen“ ausgeführt. Damit Apache über SELinux eine Verbindung mit Datenbanken herstellen kann, führen Sie den folgenden Befehl aus:

sudo setsebool -P httpd_can_network_connect_db 1

Schritt 5: Neustarten von Apache und Testen des Beispielskripts (Red Hat)

sudo apachectl restart

Hinweise zum Testen der Installation finden Sie am Ende dieses Dokuments.

Installation unter Debian

Hinweis

Ersetzen Sie die Versionsnummer 8.1 in den folgenden Befehlen durch 8.2 oder 8.3, um PHP 8.2 bzw. 8.3 zu installieren.

Schritt 1. Installieren von 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.1 php8.1-dev php8.1-xml php8.1-intl

Schritt 2: Installieren der erforderlichen Komponenten (Debian)

Installieren Sie den ODBC-Treiber für Debian, indem Sie die Anleitung auf der Seite zur Installation des Microsoft ODBC Driver for SQL Server (Linux) befolgen. Außerdem muss das Paket unixodbc-dev installiert werden. Dieses wird vom Befehl pecl zum Installieren der PHP-Treiber verwendet.

Möglicherweise müssen Sie auch das richtige Gebietsschema generieren, damit die PHP-Ausgabe in einem Browser korrekt angezeigt wird. Führen Sie zum Beispiel für das Gebietsschema „en_US UTF-8“ die folgenden Befehle aus:

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

Möglicherweise müssen Sie /usr/sbin zu $PATH hinzufügen, da sich die ausführbare Datei locale-gen dort befindet.

Schritt 3: Installieren der PHP-Treiber für Microsoft SQL Server (Debian)

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

Wenn nur eine PHP-Version im System vorhanden ist, kann der letzte Schritt zu phpenmod sqlsrv pdo_sqlsrv vereinfacht werden. Ebenso wie locale-gen befindet sich auch phpenmod in /usr/sbin, daher müssen Sie dieses Verzeichnis möglicherweise zu $PATH hinzufügen.

Schritt 4. Installieren von Apache und Konfigurieren des Treiberladevorgangs (Debian)

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

Schritt 5: Neustarten von Apache und Testen des Beispielskripts (Debian)

sudo service apache2 restart

Hinweise zum Testen der Installation finden Sie am Ende dieses Dokuments.

Installieren unter SUSE

Hinweis

Ersetzen Sie in den folgenden Anweisungen <SuseVersion> durch Ihre Version von SUSE. Wenn Sie SUSE Linux Enterprise Server 15 verwenden, lautet diese SLE_15_SP3 oder SLE_15_SP4 (oder höher). Verwenden Sie für SUSE 12 SLE_12_SP5 (oder höher). Nicht alle PHP-Versionen sind für alle Versionen von SUSE Linux verfügbar. Unter http://download.opensuse.org/repositories/devel:/languages:/php erfahren Sie, welche Versionen von SUSE über die Standardversion von PHP verfügen, und unter http://download.opensuse.org/repositories/devel:/languages:/php:/, welche anderen Versionen von PHP für welche Versionen von SUSE verfügbar sind.

Hinweis

Pakete für PHP 7.4 oder höher sind für SUSE 12 derzeit nicht verfügbar.

Schritt 1: Installieren von 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

Schritt 2: Installieren der erforderlichen Komponenten (SUSE)

Installieren Sie den ODBC-Treiber für SUSE, indem Sie die Anleitung auf der Seite zur Installation des Microsoft ODBC Driver for SQL Server (Linux) befolgen. Außerdem muss das Paket unixodbc-dev installiert werden. Dieses wird vom Befehl pecl zum Installieren der PHP-Treiber verwendet.

Schritt 3: Installieren der PHP-Treiber für Microsoft SQL Server (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

Schritt 4. Installieren von Apache und Konfigurieren des Treiberladevorgangs (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

Schritt 5: Neustarten von Apache und Testen des Beispielskripts (SUSE)

sudo systemctl restart apache2

Hinweise zum Testen der Installation finden Sie am Ende dieses Dokuments.

Installation unter Alpine

Hinweis

PHP 8.1 oder höher ist möglicherweise über Test- oder Edgerepositorys für Alpine verfügbar. Sie können PHP stattdessen aus der Quelle kompilieren.

Schritt 1: Installieren von PHP (Alpine)

PHP-Pakete für Alpine finden Sie im edge/community-Repository. Aktivieren Sie auf der Wiki-Seite die Option Enable Community Repository (Communityrepository aktivieren). Fügen Sie folgende Zeile zu /etc/apk/repositories hinzu, und ersetzen Sie dabei <mirror> durch die URL eines Alpine-Repositoryspiegels:

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

Führen Sie dann Folgendes aus:

sudo su
apk update
# Note: The php*-pdo package is required only for the PDO_SQLSRV driver
# For PHP 7.*
apk add php7 php7-dev php7-pear php7-pdo php7-openssl autoconf make g++
# 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

Schritt 2: Installieren der erforderlichen Komponenten (Alpine)

Installieren Sie den ODBC-Treiber für Alpine, indem Sie die Anleitung auf der Seite zur Installation des Microsoft ODBC Driver for SQL Server (Linux) befolgen. Außerdem muss das Paket unixodbc-dev installiert werden (sudo apk add unixodbc-dev). Dieses wird vom Befehl pecl zum Installieren der PHP-Treiber verwendet.

Schritt 3: Installieren der PHP-Treiber für Microsoft SQL Server (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

Schritt 4. Installieren von Apache und Konfigurieren des Treiberladevorgangs (Alpine)

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

Schritt 5: Neustarten von Apache und Testen des Beispielskripts (Alpine)

sudo rc-service apache2 restart

Hinweise zum Testen der Installation finden Sie am Ende dieses Dokuments.

Installieren unter macOS

Falls noch nicht vorhanden, installieren Sie Brew wie folgt:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Hinweis

Ersetzen Sie die Zeichenfolge „php@8.1“ in den folgenden Befehlen durch „php@8.2“ oder „php@8.3“, um PHP 8.2 bzw. 8.3 zu installieren.

Schritt 1. Installieren von PHP (macOS)

brew tap
brew tap homebrew/core
brew install php@8.1

PHP sollte sich nun unter Ihrem Pfad befinden. Führen Sie php -v aus, um zu überprüfen, ob Sie die richtige PHP-Version verwenden. Falls PHP nicht in dem Pfad zu finden ist oder nicht die richtige Version aufweist, führen Sie die folgenden Befehle aus:

brew link --force --overwrite php@8.1

Wenn Sie Apple M1 ARM64 verwenden, müssen Sie möglicherweise den Pfad festlegen:

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

Schritt 2: Installieren der erforderlichen Komponenten (macOS)

Installieren Sie den ODBC-Treiber für macOS, indem Sie die Anleitung auf der Seite zur Installation des Microsoft ODBC Driver for SQL Server (macOS) befolgen.

Hinweis

Wenn Sie Apple M1 ARM64-Hardware verwenden, installieren Sie den Microsoft ODBC-Treiber 17.8 oder höher direkt, ohne den Emulator Rosetta 2 zu verwenden.

Darüber hinaus kann es erforderlich sein, die GNU-Erstellungstools zu installieren:

brew install autoconf automake libtool

Schritt 3: Installieren der PHP-Treiber für Microsoft SQL Server (macOS)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

Wenn Sie Apple M1 ARM64 verwenden, gehen Sie stattdessen wie folgt vor:

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

Schritt 4. Installieren von Apache und Konfigurieren des Treiberladevorgangs (macOS)

Hinweis

Die neueste Version von macOS 11.0 Big Sur ist mit Apache 2.4 vorinstalliert, Apple hat jedoch auch einige erforderliche Skripts entfernt. Die Lösung besteht darin, Apache 2.4 über Homebrew zu installieren und dann zu konfigurieren. Dies wird jedoch in diesem Installationsleitfaden nicht berücksichtigt. Ausführliche Anweisungen hierzu finden Sie in Apache oder Homebrew.

brew install apache2

Führen Sie folgenden Befehl aus, um nach der Apache-Konfigurationsdatei (httpd.conf) für Ihre Apache-Installation zu suchen:

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

Mit den folgenden Befehlen wird die erforderliche Konfiguration an httpd.conf angefügt. Stellen Sie sicher, dass Sie den vom vorherigen Befehl zurückgegebenen Pfad durch /usr/local/etc/httpd/httpd.conf ersetzen:

echo "LoadModule php7_module /usr/local/opt/php@8.1/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

Schritt 5: Neustarten von Apache und Testen des Beispielskripts (macOS)

sudo apachectl restart

Hinweise zum Testen der Installation finden Sie am Ende dieses Dokuments.

Testen der Installation

Wenn Sie dieses Beispielskript testen möchten, erstellen Sie eine Datei namens „testsql.php“ im Dokumentenstamm Ihres Systems. Unter Ubuntu, Debian und Red Hat lautet dieser Pfad /var/www/html/, unter SuSE /srv/www/htdocs, unter Alpine /var/www/localhost/htdocs und unter macOS /usr/local/var/www. Kopieren Sie folgendes Skript und fügen Sie es dort ein, indem Sie ggf. Server, Datenbank, Benutzername und Kennwort ersetzen.

SQLSRV-Beispiel

<?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/>";
    }
}
?>

PDO_SQLSRV-Beispiel

<?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);
?>

Verweisen Sie den Browser auf https://localhost/testsql.php (https://localhost:8080/testsql.php unter macOS). Jetzt sollten Sie eine Verbindung zu Ihrer SQL Server-/Azure SQL-Datenbank herstellen können. Wenn Sie keine Erfolgsmeldung mit SQL-Versionsinformationen sehen, können Sie einige grundlegende Problembehandlungen durchführen, indem Sie das Skript über die Befehlszeile ausführen:

php testsql.php

Wenn die Ausführung über die Befehlszeile erfolgreich ist, aber in Ihrem Browser nichts angezeigt wird, überprüfen Sie die Apache-Protokolldateien. Weitere Informationen finden Sie in den entsprechenden Supportressourcen.

Weitere Informationen

Getting Started with the Microsoft Drivers for PHP for SQL Server (Erste Schritte mit dem Microsoft-Treiber für PHP für SQL Server)

Loading the Microsoft Drivers for PHP for SQL Server (Laden von Microsoft-Treibern für PHP für SQL Server)

Systemanforderungen für Microsoft-Treiber für PHP für SQL Server