I currently have a wampserver setup on a virtual server, its running apache 2.2.22, php 5.4.3, 64 bit.
I've decided its best for our system to connect to our large mssql database using PDO rather than odbc.
Our problem is that we have our 64 bit servers running 64 bit php. We've installed the sqlsrv (PDO) drivers, enabled the extensions etc etc, but it doesn't seem to be registering with PHP. Looking further into it, it seems the sqlsrv drivers are 32bit and incompatable with 64bit windows.
My question is,
Is there a 64 bit version of the sqlsrv drivers for PDO?
If there isn't, how easy would it be to convert our 64 bit wampserver to a 32bit wampserver?
Thanks
Related
I upgraded php from 7.0 to 7.2 on my Windows2012 server, and now my php script cannot access my MS Access database. Everything worked fine until the moment I upgraded. I made sure pdo_odbc.dll is enabled in the new php.ini.
I get the error:
Uncaught PDOException: SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Drivers for MS Access are installed, but they are 32-bit. I am looking in both the ODBC Administrator dialogs. Drivers are there in the 32-bit and not in the 64-bit. The server is 64 bit and the new php is 64-bit. Windows on the server is all 32-bit and I cannot change this. Windows installer refuses to install the 64-bit drivers.
I tried to install 64-bit drivers from the command line with the /passive switch as referenced here: Hand Install of 64-bit MS Access ODBC drivers when 32-bit Office is present
But this did not work, just gave the same error message about you can't install 64-bit drivers because your Windows environment is 32-bit.
Changing databases is, unfortunately, not currently an option.
Am I right that this is an issue with the 32-bit drivers vs 64-bit php? Or could it be something else? Is there any way to get the drivers? If I did, would it endanger the functioning of the database? Thanks for any input.
I have 64 bit operating system and 32bit wamp(php 5.5.6) i have installed the mongo driver for php but its not working correctly.I have also tried all Mongo Driver given version with the wamp but its not working.Any one working with this? When i click on the wamp and go to php extensions php_mongo is checked but not show the loaded in phpinfo().
I am installing a configuration with WampServer 2.4:
- Windows 7 64-bit sp1
- WampServer 2.4 64-bit
- PHP 5.4.3 64-bit (came with the WampServer)
- Apache 2.4.4
- Microsoft SQL Server 2012 Native Client 64-bit
- Microsoft SQLSRV 3.0 (php_sqlsrv_54_ts.dll, php_pdo_sqlsrv_54_ts.dll and they are put in c:/wamp/bin/php/php5.4.3/ext/
And I edited the C:\wamp\bin\apache\Apache2.4.4\bin\php.ini with the lines:
- extension_dir = "c:/wamp/bin/php/php5.4.3/ext/"
- extension=php_sqlsrv_54_ts.dll
- extension=php_pdo_sqlsrv_54_ts.dll
And I restarted all the services from Wamp.
But I still couldn't see the SQLSRV section from phpinfo -- and of course my connection test program failed.
What might have gone wrong?
Can anyone help?
Your issue is because you are using (or WAMP has given you) 64bit php, where as your sqlsrv driver is most likely 32bit.
Your solution is to switch to a 32bit version of php (The benefits of running in 64, are pretty much non existent anyway unless you need larger data types), or to recompile the sqlsrv driver in 64bit (Likely more trouble than it is worth).
Try a WAMP 32 bit version. http://www.wampserver.com/en/#wampserver-32-bits-php-5-4
Also if Apache and my-sql are of no consequence to you (they are just a web sever and and an sql database) you can install a WISP PHP Stack in a breeze using the web platform installer. http://www.microsoft.com/web/downloads/platform.aspx
For those of you using a 64bit version of PHP, the unofficial dll files linked below will work:
http://robsphp.blogspot.co.uk/2012/06/unofficial-microsoft-sql-server-driver.html
I am using 64bit WAMP on a 64bit Windows Server and was about to call it quits before I found those DLL files. It's odd that the official DLLs don't work with 64bit PHP, but I'm glad I at least found a solution.
I'm using just Apache 2.2 and PHP 5.4 in 32bit with SQLSRV 3.0 and it is now working. Note that the Thread Safe is set to Yes, thus SQLSRV ts.dlls should be used. It was a struggle. Hope this helps others.
I'm using Windows 7 64 bit.
There is no official 64 bit installer for Apache so I'm using Apache 2.2.22 32 bit (and PHP 5.3.18 32 bit btw).
I suppose I should use MySQL 32 bit then (otherwise there would be conflicts with Apache and/or PHP as I vaguely recall my trials and errors long ago)
Have I missed anything?
I think that MySQL and PHP are linked through socket, so the version of bit doesn't matter in this case.
I'm using nginx x86, PHP x86 and MySQL x64 on my Windows 7 x64, they works well.
I am running wamp server with php 5.3.0. My efforts running memcached were a fail :( After googeling I found out that the problem is that I need the correct php_memcache.dll which is a vc6 compiled for windows 7 X64. Does anyone know where can I find the dll?
If you are running a 64 bit webserver and 64 bit php you need 64 bit extensions and a 64 bit service:
The common service and extensions will not work for you.
Install the 64 bit memcached service:
http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip
And one of these php extensions (to match your php version):
Php 5.3: http://www.mediafire.com/download.php?o60feet9sw71six
Php 5.4: http://www.mediafire.com/download.php?8d3vd26z3fg6bf1
Follow up for people looking for other 64 bit php extensions:
http://www.mediafire.com/php-win64-extensions
Referenced from:
http://www.anindya.com/category/windows/
From what I have found on PHP web pages, 64bit is not supported on VC6 platform. But to make things clean, you only need 64bit dlls only if you have the rest of the program compiled in 64bits. And as PHP can't be VC6+64bit, you 'only' have to find VC6 version of php_memcache.dll. I've tried to find some recent version of it, as my XAMPP is also VC6, but to no avail.