Php 5.6 + Mssql

Seite 1 von 1 - Forum: Applications, Apps & Drivers auf overclockers.at

URL: https://www.overclockers.at/applications/php-5-6-mssql_249855/page_1 - zur Vollversion wechseln!


Umlüx schrieb am 10.10.2017 um 11:17

so, ich bekomm hier grad einen anfall...

ich bin gerade dabei, einen recht alten internen webserver neu aufzubaun und hab gerade entdeckt, dass die mssql_ extension anscheinend ab PHP 5.3 nicht mehr unterstützt wird :eek:
ich soll auf microsofts sqlserv oder pdo umsteigen. das ist leicht gesagt, wenn ich hier massig alten code liegen hab... hab ich irgend eine chance mit php 5.6 nochmal mssql_ zum laufen zu bekommen oder darf ich die nächsten wochen alten code umschreiben gehen?

tia :(


ill schrieb am 10.10.2017 um 11:42

Afaik müsstest du das mit diesen Treibern zum Laufen kriegen können: https://www.microsoft.com/en-us/dow...e190a24fa6=True


Umlüx schrieb am 10.10.2017 um 11:44

ja, das sind die angesprochenen sqlserv treiber. nur ist die syntax zu mssql_ eine andere, sprich, ich müsste viele viele cöde umschreiben


Luka schrieb am 10.10.2017 um 19:33

Hi Umlüx,

die mssql-Erweiterung wurde erst mit PHP 7.0 entfernt: https://secure.php.net/manual/de/mi...-exts-sapis.php

In PHP 5.6.X sollte mssql weiterhin verfügbar sein: https://github.com/php/php-src/tree....6.31/ext/mssql

Allerdings wird PHP 5.6 nicht mehr aktiv unterstützt und bekommt offizielle Sicherheitsupdates nur noch bis Dezember 2018: https://secure.php.net/supported-versions.php

Für PHP 7.0 und neuer könnte man einen Wrapper verwenden. Auf Github habe ich ein paar gefunden:

https://github.com/MiRacLe-RPZ/php_sqlsrv_adapter

https://github.com/bskrtich/mssqlwrapper

https://github.com/displague/mssql_helper

LG,
Luka


Umlüx schrieb am 10.10.2017 um 19:51

naja, laut php.net wurde die erweiterung schon mit 5.3 entfernt.
aber egal, danke für deinen link! da hat sich jemand wohl der sache angenommen und selbst eine gebaut? das seh ich mir morgen gleich näher an!


Luka schrieb am 10.10.2017 um 23:06

Im Windows-Build von php.net ist mssql tatsächlich seit PHP 5.3 deaktiviert, weil die von mssql benötigte Bibliothek ntwdblib.dll scheinbar nicht mit neueren Visual-C++-Versionen kompatibel ist. Sry, das habe ich leider übersehen.

Aber statt ntwdblib.dll kann man unter Windows auch FreeTDS wie unter Linux verwenden, man muss es allerdings selbst kompilieren:
https://github.com/php/php-src/blob...ssql/config.w32
https://github.com/FreeTDS/freetds

EDIT: Ein Benutzer von Moodle hat mssql mit FreeTDS erfolgreich mit VC11 kompiliert: https://docs.moodle.org/33/en/Insta...eTDS_on_Windows
Es gibt auch eine Anleitung: https://docs.moodle.org/dev/Compili...S_under_Windows


Umlüx schrieb am 11.10.2017 um 08:35

danke dir!


Umlüx schrieb am 16.10.2017 um 17:03

die sache mit dem wrapper hat mich übrigens auf eine idee gebracht.
hab nun PHP7.1 am laufen und einen eigenen, dreckigen wtf wrapper gebaut, der mir mssql_* mysql_' und oci_* in die entsprechenden PDO commands umsetzt.

ausschaun tuts zum speibn, aber es funktioniert :D und alles was ich tun muss, ist den wrapper im alten code zu includen - fertig.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026