我正在使用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/
我用以下几行编辑了C:\ wamp\bin\apache\Apache2.4.4\bin\php.ini:
- extension_dir = "c:/wamp/bin/php/php5.4.3/ext/" - extension=php_sqlsrv_54_ts.dll - extension=php_pdo_sqlsrv_54_ts.dll
我重新启动了Wamp的所有服务.
但我仍然无法从phpinfo看到SQLSRV部分 - 当然我的连接测试程序失败了.
可能出了什么问题?
有人可以帮忙吗?
你的问题是因为你正在使用(或WAMP给你)64位php,因为你的sqlsrv驱动程序很可能是32位.
你的解决方案是切换到32位版本的php(除非你需要更大的数据类型,否则几乎不存在64的运行的好处),或者重新编译64位的sqlsrv驱动程序(可能比它的价值更麻烦) .
尝试WAMP 32位版本. http://www.wampserver.com/en/#wampserver-32-bits-php-5-4
此外,如果Apache和my-sql对您没有任何影响(它们只是一个Web服务器和一个SQL数据库),您可以使用Web平台安装程序轻松安装WISP PHP Stack. http://www.microsoft.com/web/downloads/platform.aspx
对于那些使用64位版本的PHP的人,下面链接的非官方dll文件将起作用:
http://robsphp.blogspot.co.uk/2012/06/unofficial-microsoft-sql-server-driver.html
我在64位Windows服务器上使用64位WAMP,并且在找到这些DLL文件之前打算退出它.奇怪的是官方DLL不适用于64位PHP,但我很高兴我至少找到了解决方案.