Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Seite enthält Anweisungen zum Laden der Microsoft-Treiber für PHP für SQL Server in den PHP-Prozessbereich.
Installiere die Treiber unter Windows mit PIE
PIE, der PHP-Installer für Erweiterungen, installiert die entsprechenden vorkompilierten Treiberdateien und aktiviert sie in der PHP-Kommandozeilenkonfiguration. Windows braucht keine Build-Toolchain.
Installiere eine unterstützte PHP-Version und den Microsoft ODBC-Treiber für SQL Server.
Führen Sie
php --iniaus. Wenn die geladene Konfigurationsdatei ,(none)kopiere php.ini-development aus dem PHP-Installationsverzeichnis in php.ini im selben Verzeichnis.In php.ini, setzen Sie das Erweiterungsverzeichnis ein und aktivieren Sie die
opensslundzipErweiterungen:extension_dir = "ext" extension=openssl extension=zipLade aus einem beschreibbaren Arbeitsverzeichnis die neueste stabile
pie.pharMappe herunter. Der Befehl funktioniert in der Eingabeaufforderung und PowerShell:curl.exe -fL --output pie.phar https://github.com/php/pie/releases/latest/download/pie.pharWenn du die GitHub-CLI hast, überprüfe, dass die PHP Foundation die Datei veröffentlicht hat:
gh attestation verify --owner php .\pie.pharInstallieren Sie beide Treiber mithilfe der PHP-Executable unter
PATH:php .\pie.phar install microsoft/sqlsrv php .\pie.phar install microsoft/pdo_sqlsrvÜberprüfen Sie, dass dieselbe PHP-Befehlszeile beide Treiber lädt:
php --ri sqlsrv php --ri pdo_sqlsrv
Für andere PIE-Installationsmethoden siehe die PIE-Nutzungsdokumentation.
Installiere die Treiber unter Linux und macOS
Installiere die Treiber und ihre Plattformabhängigkeiten mit PIE, wie im Linux- und macOS-Installationstutorial beschrieben.
Installieren Sie vorgefertigte Treiber manuell
Du kannst die vorgefertigten Treiber von der Seite Microsoft Drivers for PHP for SQL Server herunterladen. Der Windows Download ist ein ZIP, der SQLSRV und PDO_SQLSRV Treiberdateien für jede unterstützte PHP-Version, Architektur und Thread-Sicherheitsmodus enthält. Wähle die Dateien aus, die zu deiner PHP-Umgebung passen. Siehe Systemanforderungen für die Dateiliste.
Sie können die Treiber auch aus dem Quellcode erstellen, entweder beim Erstellen von PHP oder indem Sie phpize verwenden. Wenn Sie die Treiber aus der Quelle erstellen, haben Sie die Möglichkeit, die Treiber statisch in PHP anstatt als freigegebene Erweiterungen zu erstellen, indem Sie beim Erstellen mit PHP dem --enable-sqlsrv=static --with-pdo_sqlsrv=static-Befehl --enable-sqlsrv=static --with-pdo-sqlsrv=static (unter Linux und macOS) oder ./configure (unter Windows) hinzufügen. Weitere Informationen zum PHP-Buildsystem und phpize finden Sie in der PHP-Dokumentation.
Verschieben der Treiberdatei in Ihr Erweiterungsverzeichnis
Die Treiberdatei muss sich in einem Verzeichnis befinden, in dem die PHP-Runtime sie finden kann. Es ist am einfachsten, die Treiberdatei in Ihrem Standard-PHP-Erweiterungsverzeichnis zu platzieren – um das Standardverzeichnis zu finden, führen Sie php -i | sls extension_dir unter Windows oder php -i | grep extension_dir unter Linux/macOS aus. Wenn Sie das Standarderweiterungsverzeichnis nicht verwenden, geben Sie ein Verzeichnis in der PHP-Konfigurationsdatei (php.ini) mithilfe der option extension_dir an. Wenn Sie die Treiberdatei unter Windows beispielsweise in Ihrem Verzeichnis c:\php\ext ablegen, fügen Sie der Datei „php.ini“ die folgende Zeile hinzu:
extension_dir = "c:\PHP\ext"
Laden des Treibers beim PHP-Start
Beim Laden der SQLSRV-Treiber beim Starten von PHP verschieben Sie zunächst eine Treiberdatei in das Erweiterungsverzeichnis. Dann führen Sie folgende Schritte aus:
Um den SQLSRV-Treiber zu aktivieren, ändern Sie php.ini , indem Sie die folgende Zeile zum Erweiterungsabschnitt hinzufügen und den Dateinamen entsprechend ihrer PHP-Version und Threadsicheren im Vergleich zur nicht threadsicheren Installation ändern:
Unter Windows:
extension=php_sqlsrv_83_ts.dllUnter Linux, wenn Sie die vordefinierten Binärdateien für Ihre Verteilung heruntergeladen haben:
extension=php_sqlsrv_83_nts.soWenn Sie die SQLSRV-Binärdatei aus der Quelle kompiliert oder mit PIE oder PECL installiert haben, lautet ihr Name sqlsrv.so:
extension=sqlsrv.soUm den PDO_SQLSRV-Treiber zu aktivieren, muss die PHP Data Objects (PDO)-Erweiterung verfügbar sein, entweder als integrierte Erweiterung oder als dynamisch geladene Erweiterung.
Unter Windows kommen die vorgefertigten PHP-Binärdateien mit integriertem PDO, sodass es nicht erforderlich ist, php.ini zu ändern, um es zu laden. Wenn Sie PHP jedoch aus der Quelle kompiliert und eine separate zu erstellende PDO-Erweiterung angegeben haben, lautet
php_pdo.dllder Name, und Sie müssen es in Ihr Erweiterungsverzeichnis kopieren und die folgende Zeile zu php.inihinzufügen:extension=php_pdo.dllWenn Sie PHP unter Linux mit dem Paket-Manager Ihres Systems installiert haben, wird PDO wahrscheinlich als dynamisch geladene Erweiterung namens pdo.so installiert. Die PDO-Erweiterung muss vor der PDO_SQLSRV-Erweiterung geladen werden, andernfalls schlägt der Ladevorgang fehl. Erweiterungen werden mit einzelnen .ini Dateien geladen, und diese Dateien werden nach php.ini gelesen. Wenn "pdo.so" also über eine eigene INI-Datei geladen wird, ist eine separate Datei erforderlich, die den PDO_SQLSRV-Treiber im Anschluss an PDO lädt.
Wenn Sie herausfinden möchten, in welchem Verzeichnis sich die erweiterungsspezifischen INI-Dateien befinden, führen Sie
php --iniaus, und beachten Sie das unterScan for additional .ini files in:aufgeführte Verzeichnis. Suchen Sie die Datei, die „pdo.so“ lädt. Sie sollte einer Zahl vorangestellt werden, z. B. 10-pdo.ini. Das numerische Präfix gibt die Ladereihenfolge der .ini Dateien an, während Dateien ohne numerisches Präfix alphabetisch geladen werden. Erstellen Sie eine Datei zum Laden der PDO_SQLSRV-Treiberdatei mit dem Namen „30-pdo_sqlsrv.ini“ (jede Zahl, die größer als das Präfix von „pdo.ini“ ist, funktioniert) oder „pdo_sqlsrv.ini“ (wenn „pdo.ini“ nicht mit einer Zahl als Präfix versehen ist), und fügen Sie ihr die folgende Zeile hinzu, wobei Sie den Dateinamen entsprechend ändern:extension=php_pdo_sqlsrv_3_nts.soWie bei SQLSRV lautet der Name pdo_sqlsrv.so, wenn Sie die PDO_SQLSRV-Binärdatei aus der Quelle kompiliert oder mit PIE oder PECL installiert haben:
extension=pdo_sqlsrv.soKopieren Sie diese Datei in das Verzeichnis, das die anderen INI-Dateien enthält.
Wenn Sie PHP aus der Quelle mit integrierter PDO-Unterstützung kompiliert haben, benötigen Sie keine separate .ini Datei, und Sie können die vorherige Zeile zu php.inihinzufügen.
Neustarte den Webserver.
Hinweis
Um festzustellen, ob der Treiber erfolgreich geladen wurde, führen Sie ein Skript aus, das phpinfo()aufruft.
Weitere Informationen zu php.ini-Anweisungen finden Sie unter Beschreibung der wichtigsten php.ini-Anweisungen.
Verwandte Inhalte
- Getting Started with the Microsoft Drivers for PHP for SQL Server (Erste Schritte mit dem Microsoft-Treiber für PHP für SQL Server)
- Systemanforderungen für die Microsoft-Treiber für PHP für SQL Server
- Programmierhandbuch für die Microsoft-Treiber für PHP für SQL Server
- API-Referenz für den SQLSRV-Treiber
- Referenz zum Treiber PDO_SQLSRV