I'm not positive where this goes because I'm not 100% certain what is causing this fail. I've been working on this issue for weeks now and I'm certain I've become notorious in forums at this point.
Background: I'm attempting to run a php based application that should connect to a database on a Windows Server (2008) through IIS using FastCGI module. The database works great and I was able to get php to work but when I go to pull data from the
database using the application I get "could not find driver 1".
All of my other php code works fine, it's just when I call pdo.
I've only been able to find a few posts regarding this issue most of them were solved by installing MS Visual Studio. So I installed that, reset the IIS then tried resetting the server. Still no dice.
I have these extensions uncommented in php.ini
PHP.INI (uncommented extensions)
xtension=php_bz2.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_sqlite.dll
extension=php_sqlsrv_55_nts.dll
extension=php_pdo_sqlsrv_55_nts.dll
all of these .dll files have been included in my php/ext folder
I've also read a few how-tos and forums on the Microsoft site and have made sure that the following is set up in my php.ini file:
open_basedir = "C:/inetpub/wwwroot/;C:/Inetpub/temp;C:/WINDOWS/TEMP/"
extension_dir = "./ext"
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
fastcgi.logging = 0
I have a copy of php.ini in the PHP folder and an exact copy in the Windows folder as well since "Configuration File (php.ini) Path" is "C:\Windows".
In PHPInfo()
Server API = CGI/FastCGI
PHP Extension Build = API20131226,NTS,VC11
PHP Version = 5.6.4
upload_tmp_dir shows the correct extensions that should be loaded
PDO drivers = "No Value"
I don't understand why PDO drivers shows up as not found.
On the IIS Manager I have PHP - FastCGI set up in Handler Mappings according to the Microsoft How-To. Should I be using CGI module rather than FastCGI or am I missing something?
I also don't see PHP in the registry under HKEY_LOCAL_MACHINE/SOFTWARE. I've read that tells Windows where to look for the php.ini file but I'm not sure what that is supposed to look like so I don't want to try to build it manually and
mess something up.
I did, however, add the php folder to the environment variables in Path, so I'm not sure if the lack of PHP directory in the HKEY_LOCAL_MACHINE/SOFTWARE is the problem or not.