wake-up-neo.com

SQLSRV PHP für SQL Server für ist keine gültige Win32-Anwendung

Hier ist mein Setup

  • Windows Server 2008 R2 64-Bit
  • Apache 2.4.4 64 Bit
  • PHP 5.4.15 32 Bit (64 Bit ist noch experimentell), Threadsicher, VC9-Compiler
  • Microsoft SQL Server 2012 Native Client 64-Bit
  • Microsoft Visual C++ 2010 x86 und x64

Ich muss die SQLSRV-Bibliothek von Microsoft laden. 

Ich habe 'extension = php_sqlsrv_54_ts.dll' zu php.ini hinzugefügt und 'php_sqlsrv_54_ts.dll' in den ext-Ordner kopiert, in dem PHP installiert ist.

Wenn ich Apache neu starte, erhalte ich den folgenden Fehler in meinem PHP-Fehlerprotokoll, und SQLSRV wird nicht in phpinfo aufgelistet.

PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\ext\php_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application.

Wohin gehe ich falsch?

EDIT Zu Testzwecken habe ich PHP 5.5.10 64 Bit und VC 2012 installiert, der Fehler bleibt jedoch derselbe :(

13
iltdev

Ich weiß nicht, ob es hilft, aber ich habe alle 32-Bit-Versionen in meinem Windows 7-64-Bit-System verwendet

Hier ist was ich verwendet habe und ich kann SQL Server verwenden

httpd-2.4.6-win32-VC9 //Apache 2.4
php-5.4.9-Win32-VC9-x86 //php5

innen wenn mein \php\ Ordner ich habe

  • php5Apache2_4.dll

In \php\ext\ habe ich

  • php_pdo_sqlsrv_54_nts.dll 
  • php_pdo_sqlsrv_54_ts.dll

Ich habe dies am Ende von php.ini hinzugefügt

[PHP_SQLSRV]
extension=php_sqlsrv_54_ts.dll
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_ts.dll

Ich erinnere mich, dass es ein richtiger Schmerz war, der es zum Laufen brachte, aber jetzt tut es es. Wenn ich mich mehr erinnere, bearbeite ich meine Antwort

UPDATE:

Ich denke, dass dieser Blogbeitrag mir bekannt vorkommt, wie er funktioniert 

http://robsphp.blogspot.co.uk/2012/09/how-to-install-microsofts-sql-server.html

11
AdRock

Ich hatte das gleiche Problem. Der Betrieb eines älteren 5.6 PHP x64, der aufgrund der harten RAM -Einschränkungen von 32 Bit die Schnittstelle benötigte.

Die Lösung lag in dem von Rob angebotenen inoffiziellen Treiber.

https://robsphp.blogspot.nl/2012/06/unofficial-Microsoft-sql-server-driver.html

Ich habe es getestet und es funktioniert einwandfrei mit 5.6.33 x64

3
Tschallacka

derzeit funktioniert Microsoft sqldriver nur für die 32-Bit-PHP-Version. Hier sind meine Schritte zum Installieren von SQL-Treibern.

2
anil gangwal

Sqlsrv arbeitet mit Non Thread Safe 32bit PHP mit SQL Native Client.

0
lisandro