2016-06-24 14 views
1

Ich habe PHP 5.6.23 (Thread Safe) und Apache 2.4.20 unter Windows Server 2012 R2 auf Port 8080 installiert. Ich versuche PDO zu aktivieren, um eine Verbindung zu MS SQL Server herzustellen. Die php docs Zustände, die ich brauche Treiber zum Download von MicrosoftWie aktiviert man PDO für MSSQL in PHP 5.6 TS?

Dann sollte ich die heruntergeladenen Dateien in den .dllext Ordner verschieben. Dann die folgende Zeile in php.ini Datei fügen Sie die neue Erweiterung zu ermöglichen

extension=php_sqlsrv_56_ts.dll 
extension=php_pdo_sqlsrv_56_ts.dll 

schließlich neu gestartet ich Apache-Dienst die neue Konfiguration zu laden. Aber wenn ich versuche, meinen PHP-Skript zugreifen, die auf MS SQL Server verbinden bekomme ich folgende Fehler

Fatal error: Undefined class constant 'SQLSRV_ATTR_ENCODING' 

Dann, wenn ich an dem phpinfo() Ausgang sehe ich sehe, dass PHP mit MSSQL-Erweiterung nicht wie erwartet kompiliert wird. Hier ist, dass ich sehe,

Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo" 

Was muss ich tun PDO-MSSQL in PHP 5.6.23 korrekt zu aktivieren?

Antwort

2

Ich hatte das gleiche Problem. Um es zu lösen, öffnen Sie php.ini Datei und suchen Sie nach der Variablen Extension_dir Variable. Es ist wahrscheinlich auf ext festgelegt. Ändern Sie den Wert für ext in den vollständigen Pfad, in dem sich der Ordner ext befindet.

Unter der Annahme, dass PHP-Ordner auf dem C Laufwerk Machen Sie es wie diese

extension_dir = "C:/php/ext/" 

Ich hoffe, es funktioniert

+0

Das hat funktioniert !!!!! Danke vielmals – Jaylen

-1

Beachten Sie, dass Microsoft diesen Treiber für einige Zeit nicht aktualisiert hat. Es gibt inoffizielle Builds für PHP 5.5, die auf Patches gegen die Quellcode-Kopfrevision (von Codeplex) basieren, und unbestätigte Gerüchte, dass es schwierig ist, die Quelle mit PHP 5.6 zu erstellen.

Offizielle Versionen wurden nur für PHP 5.2, 5.3 und 5.4 veröffentlicht.

Diese Probleme betreffen wahrscheinlich sowohl den PDO-Treiber (pdo_sqlsrv) als auch den Nicht-PDO-Treiber (sqlsrv-Erweiterung), da sie scheinbar zusammen gebaut und veröffentlicht werden.

+1

Sie den Treiber herunterladen für 5.6 von dieser Microsoft Link https://www.microsoft. com/de-de/download/details.aspx? id = 20098 Version 3.2 unterstützt PHP 5.6, 5.5 und 5.4 – Jaylen