php - Indlæser Mongo Driver 1.6.x driver på WAMP 64bit arkitektur

Indlæg af Hanne Mølgaard Plasc

Problem



Så jeg har installeret 64bit Apache/PHP lokalt. Både Apache og PHP blev kompileret mod VC11 C ++ redistributable.



  • https://www.apachelounge.com/download/VC11/og

  • http://windows.php.net/download/PHP5.6 (Yes ...) x64 Tråd Safe (henholdsvis)



Begge fungerer fint! (skærmbilleder med version og arkitektur info ink.) [2] [3]


Jeg har downloadet flere varianter af 1.6.x driveren fra både PECL og en repo på Amazon.



  • https://pecl.php.net/package/mongo/1.6.14/windows

  • https://s3.amazonaws.com/drivers.mongodb.org/php/index.html



Jeg har sørget for, at de er x64 Thread Safe-sorten og tilføjet til min ~/php/ext-mappe. [4] [5]


Jeg har sørget for, at udvidelsen er indlæst i php.ini (og at skrive .ini-filen hedder):
extension=php\_mongo-1.6.8-5.6-vc11-x86\_64.dll


Men hver gang jeg genstarter Apache, får jeg det i min PHP fejllogbog:



  [[07-Jun-2017 20:21:20 UTC]] PHP Advarsel: PHP Opstart: Kan ikke indlæse dynamisk bibliotek 'E: \ PHP5.6 \ ext \ php\_mongo-1.6.8-5.6-vc11-x86\_64.dll' -\% 1 er ikke et gyldigt Win32-program.



(Apache kommer rent op. Error.log clean)


Hvorfor protesterer det mod, at dette ikke er et Win32-program. Jeg vil ikke have det. Min hele arkitektur er 64bit, og det er også Mongo Driver.


Indtast billedbeskrivelse her
Indtast billedbeskrivelse her [6] [7]

Bedste reference


Hvis nogen andre kommer på tværs af denne tråd. Efter timers forsøg på at få det til at køre, nedgraderede jeg bare alt til 32-bit. Arbejde lige ud af porten.


På trods af at PECL tilbyder en '64bit' driver - https://pecl.php.net/package/mongo/1.6.14/windows synes det ikke at være kompatibel med 64bit/VC11/Thread Safe versioner af Apache/PHP [8]


Jeg er ikke sikker på, om dette er et problem med Mongo driver kompilering eller noget dybere?


Anyway. Nedgrader til 32-bit. Mongo 1.6.x drivere vil derefter køre.

Andre referencer 1


Det er muligt, at en afhængighed mangler. Hvor jeg har mistanke om at være libsasl som angivet i kommentaren på http://php.net/manual/en/mongodb.requirements.php[9]


Libsasl.dll findes i PHP distributionen.