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.3, 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. Du kannst auch die vorgefertigten Binärdateien von der Microsoft-Treiber für PHP für SQL Server GitHub-Projektseite herunterladen und sie installieren, indem du den Anweisungen in Loading the Microsoft Drivers for PHP for SQL Server folgst. Eine Erläuterung des Ladens der Erweiterungen und der Gründe, warum die Erweiterungen nicht zu php.ini hinzugefügt werden, finden Sie im Abschnitt über das Laden der Treiber.

Installiere die Treiber mit PIE, dem PHP-Installer für Erweiterungen, der offizielle Installer für PHP-Erweiterungen ist und den veralteten PECL ersetzt. Befolge Schritt 1 und Schritt 2 für deine Plattform, um PHP und den Microsoft ODBC-Treiber zu installieren, und verwende dann die Treiber mit PIE anstelle von Schritt 3 installieren. Die Abschnitte Step 3 dokumentieren die PECL-Befehle, die weiterhin funktionieren.

Die folgenden Anweisungen installieren standardmäßig PHP 8.3, sofern die PHP 8.3-Pakete verfügbar sind. Einige unterstützte Linux-Distros werden standardmäßig auf alte Versionen von PHP festgelegt, die für die neueste Version der PHP-Treiber für SQL Server nicht unterstützt werden. Wenn Sie stattdessen PHP 8.4 oder 8.5 installieren möchten, lesen Sie die Hinweise am Anfang jedes Abschnitts. Wenn du mit PECL installierst, musst du möglicherweise zuerst pecl channel-update pecl.php.net ausführen.

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, es sei denn, es wird angegeben.

Die neuesten unterstützten Betriebssystemversionen finden Sie unter Supportmatrix.

Hinweis

Stellen Sie sicher, dass Sie die neueste ODBC-Treiberversion installieren, 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).

Installiere die Treiber mit PIE

PIE, der PHP-Installer für Erweiterungen, ist der offizielle Installer für PHP-Erweiterungen und ersetzt PECL, das inzwischen veraltet ist. Die Microsoft-Treiber für PHP für SQL Server unterstützen PIE in Version 5.13.2 und späteren Versionen unter Linux und macOS.

PIE installiert nur die Treiber. Erledigen Sie zuerst Schritt 1 und Schritt 2 für Ihre Plattform, damit PHP und der Microsoft ODBC-Treiber bereits vorhanden sind.

PIE installieren

PIE benötigt PHP 8.1 oder neuer, um ausgeführt zu werden, aber es kann eine Erweiterung in jede andere PHP-Installation auf dem Rechner installieren. PIE wird als PHAR-Archiv verteilt, ähnlich wie Composer.

Die folgenden Befehle installieren PIE auf /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

Optional solltest du vor dem Verschieben der Datei bestätigen, dass das PHAR vom PIE-Projekt veröffentlicht wurde. Dieser Schritt erfordert die GitHub-CLI:

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

Weitere Möglichkeiten zur Installation von PIE finden Sie in der PIE-Dokumentation.

Installiere die SQLSRV- und PDO_SQLSRV-Treiber

Auf Apple Silicon setzen Sie zuerst die Compiler-Flags. Homebrew installiert die unixODBC-Header unter /opt/homebrew, was nicht im Standard-Compiler-Suchpfad ist, und der Build schlägt ohne fatal error: 'sql.h' file not found sie fehl:

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

Installieren Sie jeden Treiber mit einem eigenen Befehl:

pie install microsoft/sqlsrv
pie install microsoft/pdo_sqlsrv

PIE benötigt möglicherweise erhöhte Rechte und kann dich nach deinem Passwort fragen. PIE führt den Installationsbefehl ohne Elevation zuerst aus und versucht es sudo nur, wenn der Befehl wegen der Berechtigungen fehlschlägt.

Unter Linux und macOS prüft PIE nach gcc, make, autoconf, pkg-config, libtool, und phpize, und bietet an, über den Systempaketmanager alle fehlenden Pakete zu installieren, bevor die Erweiterung kompiliert wird.

Hinweis

Bei Debian und Ubuntu schlägt PIE das unversionierte php-dev Paket vor, wenn phpize fehlt, das die Entwicklerheader für das Standard-PHP der Distribution installiert. Wenn du eine bestimmte PHP-Version installiert hast, installiere das passende Paket selbst, zum Beispiel php8.3-dev, anstatt das Angebot anzunehmen.

Installiere die beiden Treiber getrennt statt in einem einzigen Befehl. Sie sind unabhängig voneinander, und PIE scheitert, wenn mehrere Erweiterungen, die in einem Kommando geteilt sind, die Optionen konfigurieren.

Installieren auf Ubuntu

Hinweis

Um PHP 8.4 oder 8.5 zu installieren, ersetzen Sie 8.3 durch 8.4 oder 8.5 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.3 php8.3-dev php8.3-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 Sie die PHP-Treiber für Microsoft SQL Server mit 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

Wenn es nur eine PHP-Version im System gibt, 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.3 apache2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php8.3
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.4 oder 8.5 zu installieren, ersetzen Sie 8.3 durch 8.4 oder 8.5 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.3 php8.3-dev php8.3-fpm php8.3-xml -y --allow-unauthenticated

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

systemctl status php8.3-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. Es wird vom pecl Befehl zum Installieren der PHP-Treiber verwendet.

Schritt 3. Installiere die PHP-Treiber für Microsoft SQL Server mit PECL (Ubuntu mit 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

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

Stellen Sie sicher, dass sich sqlsrv.ini und pdo_sqlsrv.ini in /etc/php/8.3/fpm/conf.d/ befinden:

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

Starten Sie den PHP-FPM Dienst neu:

sudo systemctl restart php8.3-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 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.3-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 8 zu installieren:

Hinweis

Um PHP 8.4 oder 8.5 zu installieren, ersetzen Sie remi-8.3 durch remi-8.4 oder remi-8.5 entsprechend 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.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

Schritt 2. Installieren der erforderlichen Komponenten (Red Hat)

Installieren Sie den ODBC-Treiber für Red Hat 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. Es wird vom pecl Befehl zum Installieren der PHP-Treiber verwendet.

Schritt 3. Installiere die PHP-Treiber für Microsoft SQL Server mit 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

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.4 oder 8.5 zu installieren, ersetzen Sie 8.3 in den folgenden Befehlen durch 8.4 oder 8.5.

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.3 php8.3-dev php8.3-xml php8.3-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 pecl Befehl zum Installieren der PHP-Treiber verwendet.

Möglicherweise müssen Sie auch das richtige Gebietsschema generieren, damit die PHP-Ausgabe korrekt in einem Browser angezeigt wird. 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. Installiere die PHP-Treiber für Microsoft SQL Server mit 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

Wenn es nur eine PHP-Version im System gibt, kann der letzte Schritt zu phpenmod sqlsrv pdo_sqlsrv vereinfacht werden. Wie bei locale-gen, phpenmod befindet sich in /usr/sbin , sodass 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.3 apache2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php8.3

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, ist es SLE_15_SP3 oder SLE_15_SP4 (oder höher). Nicht alle Versionen von PHP sind für alle Versionen von SUSE Linux verfügbar - siehe http://download.opensuse.org/repositories/devel:/languages:/php , welche Versionen von SUSE die Standardversion PHP verfügbar 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.

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 pecl Befehl zum Installieren der PHP-Treiber verwendet.

Schritt 3. Installiere die PHP-Treiber für Microsoft SQL Server mit 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

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.3 oder höher kann aus Test- 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 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 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. Es wird vom pecl Befehl zum Installieren der PHP-Treiber verwendet.

Schritt 3. Installiere die PHP-Treiber für Microsoft SQL Server mit 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

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

# 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:

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

Hinweis

Um PHP 8.4 oder 8.5 zu installieren, ersetzen Sie php@8.3 durch php@8.4 oder php@8.5 in den folgenden Befehlen.

Schritt 1. Installieren von PHP (macOS)

brew install php@8.3

PHP sollte sich nun unter Ihrem Pfad befinden. Führen Sie den Befehl php -v aus, 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.3

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 Sie die PHP-Treiber für Microsoft SQL Server mit PECL (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

Ab Version 11.0 Big Sur kommt macOS mit Apache 2.4 vorinstalliert, aber Apple entfernte einige erforderliche Skripts. Die Lösung besteht darin, Apache 2.4 über Homebrew zu installieren und zu konfigurieren. Dieser Schritt liegt außerhalb des Umfangs dieses Installationshandbuchs. Prüfen Sie Apache oder Homebrew für ausführliche Anweisungen.

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 an httpd.conf angefü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.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

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.