Freigeben über


Anleitung zur Linux- und macOS-Installation der Microsoft-Treiber für PHP für SQL Server

Die folgenden Anweisungen gehen von einer sauberen Umgebung aus und zeigen, wie PHP 8.1, der Microsoft ODBC-Treiber, der Apache-Webserver und die Microsoft Drivers für PHP für SQL Server auf Ubuntu, Red Hat, Debian, SUSE, Alpine und macOS installiert werden. Diese Anweisungen empfehlen, die Treiber mit PECL zu installieren, aber Sie können die vordefinierten Binärdateien auch von der Microsoft Drivers für PHP für SQL Server GitHub-Projektseite herunterladen und sie nach den Anweisungen zum Laden der Microsoft Drivers für PHP für SQL Server installieren. Eine Erläuterung des Ladens der Erweiterung und warum wir die Erweiterungen nicht zu php.inihinzufügen, finden Sie im Abschnitt zum Laden der Treiber.

Die folgenden Anweisungen installieren PHP 8.1 standardmäßig mithilfe von pecl install, wenn die PHP 8.1-Pakete verfügbar sind. Möglicherweise müssen Sie zuerst ausführen pecl channel-update pecl.php.net . Einige unterstützte Linux-Distros verwenden standardmäßig PHP 7.1 oder eine frühere Version, die von der neuesten Version der PHP-Treiber für SQL Server nicht unterstützt wird. Lesen Sie stattdessen die Hinweise am Anfang jedes Abschnitts, um PHP 8.2 oder 8.3 zu installieren.

Außerdem sind Anweisungen zum Installieren des PHP FastCGI Process Managers, PHP-FPM, auf Ubuntu enthalten. PHP-FPM ist erforderlich, wenn Sie den nginx-Webserver anstelle von Apache verwenden.

Diese Anweisungen enthalten Zwar Befehle zum Installieren von SQLSRV- und PDO_SQLSRV-Treibern, die Treiber können jedoch unabhängig installiert und funktionieren. Benutzer, die sich mit der Anpassung ihrer Konfiguration vertraut machen, können diese Anweisungen so anpassen, dass sie für SQLSRV oder PDO_SQLSRV spezifisch sind. Beide Treiber weisen die gleichen Abhängigkeiten auf, außer dort, wo unten angegeben.

Weitere Informationen finden Sie in der Supportmatrix für die neueste unterstützte Betriebssystemversion.

Hinweis

Stellen Sie sicher, dass Sie die neueste ODBC-Treiberversion installiert haben, um eine optimale Leistung und Sicherheit sicherzustellen. 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).

Installieren auf Ubuntu

Hinweis

Um PHP 8.2 oder 8.3 zu installieren, ersetzen Sie 8.1 durch 8.2 oder 8.3 in den folgenden Befehlen.

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 Anweisungen zum Installieren des Microsoft ODBC-Treibers für SQL Server (Linux) befolgen. Stellen Sie sicher, dass Sie auch das unixodbc-dev Paket installieren. Es wird vom pecl Befehl 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 Ladens von Treibern (Ubuntu)

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

Schritt 5. Starten Sie Apache neu, und testen Sie das Beispielskript (Ubuntu)

sudo service apache2 restart

Informationen zum Testen der Installation finden Sie unter Testen der Installation am Ende dieses Dokuments.

Installieren auf Ubuntu mit PHP-FPM

Hinweis

Um PHP 8.2 oder 8.3 zu installieren, ersetzen Sie 8.1 durch 8.2 oder 8.3 in den folgenden Befehlen.

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 Anweisungen zum Installieren des Microsoft ODBC-Treibers für SQL Server (Linux) befolgen. Stellen Sie sicher, dass Sie auch das unixodbc-dev Paket installieren. Der Befehl pecl wird verwendet, um die PHP-Treiber zu installieren.

Schritt 3. Installieren Sie die 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 phpenmod sqlsrv pdo_sqlsrv vereinfacht werden.

Stellen Sie sicher, dass sich sqlsrv.ini und pdo_sqlsrv.ini 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-FPM)

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

Zum Konfigurieren von nginx müssen Sie die /etc/nginx/sites-available/default Datei bearbeiten. Fügen Sie index.php zur Liste unterhalb des folgenden 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;

Entfernen Sie als Nächstes die Kommentare, und ändern Sie den Abschnitt # pass PHP scripts to FastCGI server 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. Starten Sie nginx neu, und testen Sie das Beispielskript (Ubuntu mit PHP-FPM)

sudo systemctl restart nginx.service

Informationen zum Testen der Installation finden Sie unter Testen der Installation am Ende dieses Dokuments.

Installieren auf Red Hat

Schritt 1. Installieren von PHP (Red Hat)

Führen Sie die folgenden Befehle aus, um PHP auf Red Hat 7 zu installieren:

Hinweis

Um PHP 8.2 oder 8.3 zu installieren, ersetzen Sie remi-php81 in den folgenden Befehlen durch remi-php82 für PHP 8.2 oder durch remi-php83 für PHP 8.3.

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 die folgenden Befehle aus, um PHP auf Red Hat 8 zu installieren:

Hinweis

Um PHP 8.2 oder 8.3 zu installieren, ersetzen Sie remi-8.1 durch remi-8.2 oder remi-8.3 in den folgenden Befehlen.

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 der erforderlichen Komponenten (Red Hat)

Installieren Sie den ODBC-Treiber für Red Hat 7 oder 8, indem Sie die Anweisungen zum Installieren des Microsoft ODBC-Treibers für SQL Server (Linux) befolgen. Stellen Sie sicher, dass Sie auch das unixodbc-dev Paket installieren. pecl wird vom Befehl verwendet, um die PHP-Treiber zu installieren.

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 können Sie das Remi-Repository installieren:

sudo yum install php-sqlsrv

Schritt 4. Installieren von Apache (Red Hat)

sudo yum install httpd

SELinux ist standardmäßig installiert und wird im Erzwingungsmodus ausgeführt. Um Apache die Verbindung mit Datenbanken über SELinux zu ermöglichen, führen Sie den folgenden Befehl aus:

sudo setsebool -P httpd_can_network_connect_db 1

Schritt 5. Starten Sie Apache neu, und testen Sie das Beispielskript (Red Hat)

sudo apachectl restart

Informationen zum Testen der Installation finden Sie unter Testen der Installation am Ende dieses Dokuments.

Installieren auf Debian

Hinweis

Um PHP 8.2 oder 8.3 zu installieren, ersetzen Sie 8.1 in den folgenden Befehlen durch 8.2 oder 8.3.

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 Anweisungen zum Installieren des Microsoft ODBC-Treibers für SQL Server (Linux) befolgen. Stellen Sie sicher, dass Sie auch das unixodbc-dev Paket installieren. Es wird vom Befehl zum Installieren der pecl PHP-Treiber verwendet.

Möglicherweise müssen Sie auch das richtige Gebietsschema generieren, um die PHP-Ausgabe korrekt in einem Browser anzuzeigen. Führen Sie beispielsweise 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 Ihrem $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. Wie bei locale-gen, phpenmod befindet sich in /usr/sbin , damit Sie dieses Verzeichnis möglicherweise zu Ihrem $PATHVerzeichnis hinzufügen müssen.

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. Starten Sie Apache neu, und testen Sie das Beispielskript (Debian)

sudo service apache2 restart

Informationen zum Testen der Installation finden Sie unter Testen der Installation am Ende dieses Dokuments.

Installation auf SUSE

Hinweis

Ersetzen Sie in den folgenden Anweisungen <SuseVersion> durch Ihre Version von SUSE – wenn Sie SUSE Linux Enterprise Server 15 verwenden, wird sie SLE_15_SP3 oder SLE_15_SP4 (oder höher) sein. 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 - bitte lesen Sie, http://download.opensuse.org/repositories/devel:/languages:/php welche Versionen von SUSE die Standardversion PHP zur Verfügung haben, oder überprüfen http://download.opensuse.org/repositories/devel:/languages:/php:/ Sie, 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 ab heute nicht für SUSE 12 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 Anweisungen zum Installieren des Microsoft ODBC-Treibers für SQL Server (Linux) befolgen. Stellen Sie sicher, dass Sie auch das unixodbc-dev Paket installieren. Es wird vom Befehl pecl verwendet, um die PHP-Treiber zu installieren.

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. Starten Sie Apache neu, und testen Sie das Beispielskript (SUSE)

sudo systemctl restart apache2

Informationen zum Testen der Installation finden Sie unter Testen der Installation am Ende dieses Dokuments.

Installation unter Alpine

Hinweis

PHP 8.1 oder höher kann über Tests oder Edge-Repositorys für Alpine verfügbar sein. Stattdessen können Sie PHP aus der Quelle kompilieren.

Schritt 1. Installieren von PHP (Alpine)

PHP-Pakete für Alpine finden Sie im edge/community Repository. Aktivieren Sie das Community-Repository auf ihrer WIKI-Seite. Fügen Sie die folgende Zeile zu /etc/apk/repositories hinzu, wobei Sie <mirror> durch die URL eines Alpine-Repositoryspiegels ersetzen:

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 Anweisungen zum Installieren des Microsoft ODBC-Treibers für SQL Server (Linux) befolgen. Stellen Sie sicher, dass Sie auch das unixodbc-dev Paket (sudo apk add unixodbc-dev) installieren. Der Befehl pecl wird verwendet, um die PHP-Treiber zu installieren.

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. Starten Sie Apache neu, und testen Sie das Beispielskript (Alpine)

sudo rc-service apache2 restart

Informationen zum Testen der Installation finden Sie unter Testen der Installation am Ende dieses Dokuments.

Installieren unter macOS

Wenn Sie es noch nicht haben, installieren Sie Brew wie folgt:

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

Hinweis

Um PHP 8.2 oder 8.3 zu installieren, ersetzen Sie php@8.1 durch php@8.2 bzw. php@8.3 in den folgenden Befehlen.

Schritt 1. Installieren von PHP (macOS)

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

PHP sollte jetzt in Ihrem Pfad sein. Führen Sie den Befehl aus php -v , um zu überprüfen, ob Sie die richtige Version von PHP ausführen. Wenn PHP sich nicht in Ihrem Pfad befindet oder nicht die richtige Version ist, 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 Anweisungen zum Installieren des Microsoft ODBC-Treibers für SQL Server (macOS) befolgen.

Hinweis

Wenn Sie Apple M1 ARM64-Hardware verwenden, installieren Sie microsoft ODBC-Treiber 17.8+ direkt, ohne den Emulator Rosetta 2 zu verwenden.

Darüber hinaus müssen Sie möglicherweise die GNU Make Tools 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 Ladens von Treibern (macOS)

Hinweis

Der neueste macOS 11.0 Big Sur ist mit Apache 2.4 vorinstalliert, aber Apple hat auch einige erforderliche Skripts entfernt. Die Lösung besteht darin, Apache 2.4 über Homebrew zu installieren und es dann zu konfigurieren, aber dies ist außerhalb des Umfangs für diese Installationsanleitung. Bitte lesen Sie Apache oder Homebrew, um detaillierte Anweisungen zu erhalten.

brew install apache2

Um die Apache-Konfigurationsdatei zu finden, httpd.confführen Sie für Ihre Apache-Installation Folgendes aus:

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

Mit den folgenden Befehlen wird die erforderliche Konfiguration httpd.conf hinzugefügt. Stellen Sie sicher, dass Sie den durch den vorherigen Befehl zurückgegebenen Pfad anstelle von /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. Starten Sie Apache neu, und testen Sie das Beispielskript (macOS)

sudo apachectl restart

Informationen zum Testen der Installation finden Sie unter Testen der Installation am Ende dieses Dokuments.

Testen der Installation

Um dieses Beispielskript zu testen, erstellen Sie eine Datei namens testsql.php im Dokumentstamm Ihres Systems. Dieser Pfad befindet sich /var/www/html/ auf Ubuntu, Debian und Red Hat, /srv/www/htdocs auf SUSE, /var/www/localhost/htdocs auf Alpine oder /usr/local/var/www auf macOS. Kopieren Sie das folgende Skript, und ersetzen Sie den Server, die Datenbank, den Benutzernamen und das Kennwort entsprechend.

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

Zeigen Sie Ihren Browser auf https://localhost/testsql.php (https://localhost:8080/testsql.php unter macOS). Sie sollten jetzt in der Lage sein, eine Verbindung mit Ihrer SQL Server/Azure SQL-Datenbank herzustellen. Wenn keine Erfolgsmeldung mit SQL-Versionsinformationen angezeigt wird, können Sie eine grundlegende Problembehandlung ausführen, indem Sie das Skript über die Befehlszeile ausführen:

php testsql.php

Wenn die Ausführung über die Befehlszeile erfolgreich ist, aber nichts in Ihrem Browser angezeigt wird, überprüfen Sie die Apache-Protokolldateien. Weitere Hilfe finden Sie in den Supportressourcen für orte, die Sie besuchen können.

Siehe auch

Erste Schritte mit den Microsoft Drivers für PHP für SQL Server

Laden der Microsoft Drivers für PHP für SQL Server

Systemanforderungen für die Microsoft Drivers für PHP für SQL Server