I am trying to get the PHP PDO driver for SQL server working. I obtained the file from Microsoft.
I am using PHP 5.3. I copied php_pdo_sqlsrv_53_nts.dll to my PHP extension directory and modified PHP.INI. The error log shows
[31-Mar-2012 20:11:38] PHP Warning: PHP Startup: Unable to load dynamic library ‘c:\php\ext\php_pdo_sqlsrv_53_nts.dll’ – The specified module could not be found.
in Unknown on line 0
The file does exist. I checked it with DEPENDS.EXE and was missing MSVCR100.DLL and MSVCP100.DLL and I ran all VC++ runtime packs and got the DLLs. DEPENDS reports two missing dependencies, LINKINFO.DLL and IESHIMS.DLL. Not sure what either of them are.
I don’t have a PHP_PDO.DLL; from what I read it’s indicated that PHP 5.3+ builds php_pdo.dll into PHP.phpinfo has a section “PDO” which has "PDO drivers" = "no value". I’m not sure if this value is what it should be.
I tried restarting the web server (as opposed to not just restarting the service) as suggested in another post but that didn’t fix it.
Running on Windows Server 2008 with IIS and on x64.
I noticed a footnote in the Microsoft documentation saying PHP >= 5.3.6 was required for Version 3 of the PDS drivers. As I am running 5.3.1, and I can’t move from it, the older ones work fine, despite being deprecated.