SQLSRV PHP-Extension für Plesk PHP 7

Bitte beachten Sie, dass die folgende Anleitung nur für Plesk Obsidian unter Linux Debian 9 verwendet werden kann.


Vor der Installation von PHP-Extensions sollte ein Server-Snapshot erstellt werden, damit Sie im Fehlerfall die Installation mit wenigen Klicks rückgängig machen können. Server-Snapshots


Mithilfe der PHP Microsoft SQL Extension (sqlsrv) kann eine native MSSQL Verbindung zu einem Microsoft SQL Server aufgebaut werden.

Installation

Für die Installation unter PHP 7.2, 7.3 und 7.4 werden zusätzliche Pakete benötigt. Diese können über folgenden SSH-Befehl installiert werden:


apt install plesk-php72-dev plesk-php73-dev plesk-php74-dev apt-transport-https gcc g++ unixodbc unixodbc-dev make


Als Nächstes muss das msodbcsql17 Paket von Microsoft installiert werden:


curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install msodbcsql17


Die PHP Extension SQLSRV muss für jede PHP-Version installiert werden:


/opt/plesk/php/7.2/bin/pecl install sqlsrv pdo_sqlsrv
/opt/plesk/php/7.3/bin/pecl install sqlsrv pdo_sqlsrv
/opt/plesk/php/7.4/bin/pecl install sqlsrv pdo_sqlsrv


Nach der erfolgreichen Installation muss die Extension zur PHP-Konfiguration hinzugefügt werden:


# PHP 7.2
echo "extension=sqlsrv.so" > /opt/plesk/php/7.2/etc/php.d/sqlsrv.ini
echo "extension=pdo_sqlsrv.so" > /opt/plesk/php/7.2/etc/php.d/pdo_sqlsrv.ini

# PHP 7.3
echo "extension=sqlsrv.so" > /opt/plesk/php/7.3/etc/php.d/sqlsrv.ini
echo "extension=pdo_sqlsrv.so" > /opt/plesk/php/7.3/etc/php.d/pdo_sqlsrv.ini

# PHP 7.4
echo "extension=sqlsrv.so" > /opt/plesk/php/7.4/etc/php.d/sqlsrv.ini
echo "extension=pdo_sqlsrv.so" > /opt/plesk/php/7.4/etc/php.d/pdo_sqlsrv.ini


Um die neue Konfiguration auch über das Plesk Webinterface zu ermöglichen, müssen die PHP-Handler neu initialisiert werden:


plesk bin php_handler --reread


Anschließend müssen die PHP-Handler erneut gestartet werden, damit die SQLSRV Erweiterung verwendet werden kann:


Warnung: Durch den Neustart der PHP-Module werden alle laufenden PHP-Prozesse beendet und neu gestartet. Sollte die Installation auf einem Produktivsystem vorgenommen werden, empfehlen wir, diese Änderung nachts durchzuführen.


systemctl restart plesk-php72-fpm
systemctl restart plesk-php73-fpm
systemctl restart plesk-php74-fpm