我在Windows *上使用了WampServer 2.0i(PHP 5.3.0和Apache 2.2.11),并希望连接到SQL Server 2008.我从Microsoft下载了PHP 1.1的SQL Server驱动程序,它提供了各种各样的驱动程序DLL。
我在帮助文件中提供的图表是:
Driver file PHP version Thread safe? Use with PHP .dll =========== =========== ============ ================= php_sqlsrv_53_nts_vc6.dll 5.3 no php5.dll php_sqlsrv_53_nts_vc9.dll 5.3 no php5.dll php_sqlsrv_53_ts_vc6.dll 5.3 yes php5ts.dll php_sqlsrv_53_ts_vc9.dll 5.3 yes php5ts.dll
进一步的指示说:
如果驱动程序文件的名称包含“vc9”,则应使用与Visual C ++ 9.0一起编译的PHP版本。 如果驱动程序文件的名称包含“vc6”,则应将其与使用Visual C ++ 6.0编译的PHP版本一起使用。
我怎么知道哪个版本的Visual C ++被用来编译PHP? 我在Unix发行版上意识到,我会对此有更深入的了解,因为我可能会分别安装PHP和Apache,并对它们进行编译(自从我这么做以来已经过了很多年了)。
我甚至应该尝试安装这个驱动程序的DLL,还是有一些更好的方法让PHP与SQL Server交谈?
* Windows 7 Professional 64位; SQL Server 2008; WampServer 2.0i
根据wampserver.com的论坛post :
在wamp中使用的是vc6
wamp 2.0根本不是用VC ++编译的
看在wamp\bin\php\php5.3.0\文件夹中,我发现php5ts.dll所以我会假设我需要使用线程安全版本。
所以,如果我是对的,答案是使用php_sqlsrv_53_ts_vc6.dll驱动程序。
另外,我将尝试修改wamp\wampmanager.ini文件,让dll显示在wampserver托盘图标菜单的扩展列表中。