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
Systemanforderungen für Microsoft-Treiber für PHP für SQL Server