MSSQL, PHP und Linux – (k)ein Dreamteam

Für manche Projekte braucht man ein etwas ausgefallenes Setup. So ist die Kombination aus Microsoft-SQL-Server und dem Zugriff aus einer PHP-Webseite absolut kein Standard. Da die Datenbank, aus welcher die Daten benötigt werden, in meinem Fall aber nur als MS-SQL-DB vorliegt muss man schauen, wie man das ganze zum Zusammenspiel bringt. Zusätzlich soll diese Webseite auch nicht auf dem Windows-Server laufen, sondern auf einer eigenständigen Maschine in einem Apache. Da es unnötig wäre hierfür noch eine Windows-Server-Lizenz zu verschleudern das ganze dann auch noch in einer Linux-VM 😉

Als erstes habe ich Ubuntu Server 16.04 LTS in einer VM installiert. Danach geht es mit folgenden Schritten weiter:

Apache installieren:

Da PHP7 Verbindungen zu MSSQL nicht mehr unterstützt fällt dieses raus! Da PHP5 dies kann, aber in den offiziellen Paketquellen von Ubuntu nicht mehr enthalten ist, muss eine weitere Paketquelle hinzugefügt werden.

Repository für PHP5 hinzufügen:

Alle nötigen PHP-Module installieren:

Für die Anbindung an die MS-SQL-Datenbank wird noch der FreeTDS-Treiber als “Zwischenschicht” benötigt, der Zugriff auf die Datenbank findet dann später mittels PDO statt.

Freetds installieren:

Um die Verbindung zur Datenbank aus PHP aufzubauen wird ein PDO (PHP Data Object) in der PHP-Anwendung erstellt:

Um den korrekten Weg für den Aufbau der Datenbank-Verbindung heraus zu finden sind einige Stunden ins Land gegangen, denn wie so oft im deutschsprachigen Raum benötigt man UTF8 und dies muss beim Aufbau der Datenbankverbindung dem Server mitgeteilt werden. Leider funktionierten von den ca. 20 Lösungen die ich dafür bei meiner Recherche fand keine bis auf die oben gezeigte.

Die Einstellungen in der oben gelb hervorgehobenen Zeile entsprechen hierbei den Konfigurationen die man in der freetds.conf-Datei für ein Verbindungsprofil vornehmen kann:

Tobias Langner

Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Schreibe einen Kommentar