Ich muss eine Demo einer PHP-Anwendung installieren, die dieSQL Server-Treiber für PHP. Der Server ist eine alte Maschine, auf der Windows 2000 Server SP4 läuft. Ich habe den gesamten Stack ohne Probleme installiert:
- Apache 2.2.14
- PHP 5.3.1
- SQL Server 2005 Express Edition
- SQL Server Management Studio Express
Aber es gibt eine Komponente, die nicht wie erwartet funktioniert: dieSQL Server Native Client. Ich erhalte eine Fehlermeldung, sobald ich sqlsrv_connect() aufrufe. Ich habe vier verschiedene Versionen gefunden und keine funktioniert:
Wenn ich es nicht installiere oder die Version 2005 installiere:
- SQLSTATE: IMSSP
- Code: -49
- Meldung: Der SQL Server-Treiber für PHP erfordert den SQL Server 2008 Native Client ODBC-Treiber (SP1 oder höher), um mit SQL Server kommunizieren zu können. Dieser ODBC-Treiber ist derzeit nicht installiert. Rufen Sie die folgende URL auf, um den SQL Server 2008 Native Client ODBC-Treiber für x86 herunterzuladen:http://go.microsoft.com/fwlink/?LinkId=163712
Wenn ich die Version 2008 installiere:
- SQLSTATE: IM003
- Code: 160
- Meldung: Der angegebene Treiber konnte aufgrund des Systemfehlers 127 (SQL Server Native Client 10.0) nicht geladen werden.
DerSystemanforderungen für SQL Server-Treiber für PHP1.1 enthält Windows 2000 Service Pack 4. AllerdingsSystemanforderungen für SQL Server 2008 Native Clienterwähnt Windows Server 2003 Service Pack 2 oder höher.
Irgendeine Idee?
Antwort1
Ich glaube nicht, dass der SQL 2008 Native Client unter Windows 2000 unterstützt wird. Haben Sie ein Windows 2003-System, auf dem Sie diese Anwendung installieren können?
Antwort2
Weitere Informationen habe ich von Serban Iliescu imoffizielles Forum:
Bei weiteren Untersuchungen stellte ich fest, dass SQL Server Native Client 2008 (auch bekannt als SNAC 10) unter Windows 2000 nicht geladen werden kann, da einige DLL-Abhängigkeiten vom Betriebssystem nicht erfüllt werden. Derzeit ist ein Fehler bei SNAC 10 gemeldet worden, der dieses Problem durch ein ordnungsgemäßes Downgrade beheben soll, aber dieser Fehler muss noch behoben werden. In der Zwischenzeit können Sie die vorherige Version des PHP-Treibers (d. h. Version 1.0) ausprobieren, die mit SNAC 9 (SQL Server Native Client 2005) verknüpft ist, und SNAC 9 sollte unter Windows 9 funktionieren.
Um zusammenzufassen:
- SQL Server-Treiber für PHP 1.1 erfordert SQL Server Native Client 2008
- SQL Server Native Client 2008 hat einen bekannten Fehler und wird unter Windows 2000 nicht geladen
- SQL Server Native Client 2005 funktioniert einwandfrei unter Windows 2000
- SQL Server-Treiber für PHP 1.0 erfordert nur SQL Server Native Client 2005
Ich habe die ältere Version des PHP-Treibers zusammen mit der 2005er-Version des Native Client installiert. Außerdem musste ich PHP von 5.3 auf 5.2 downgraden.
Meine Bewerbungscheintmit der alten Version des PHP-Treibers zu arbeiten. Die Demo ist also endlich einsatzbereit.