我正在使用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部分 - 当然我的连接测试程序也失败了。
可能出了什么问题?
有人可以帮忙吗?
答案 0 :(得分:11)
你的问题是因为你正在使用(或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
答案 1 :(得分:6)
对于那些使用64位版本PHP的人,下面链接的非官方dll文件将起作用:
http://robsphp.blogspot.co.uk/2012/06/unofficial-microsoft-sql-server-driver.html
我在64位Windows服务器上使用64位WAMP,并且在我找到这些DLL文件之前就要调用它。奇怪的是官方DLL不适用于64位PHP,但我很高兴我至少找到了解决方案。
答案 2 :(得分:0)
我正在使用Apache 2.2和PHP 5.4在32位上使用SQLSRV 3.0,现在它正在运行。请注意,“线程安全”设置为“是”,因此应使用SQLSRV ts.dlls。这是一场斗争。希望这有助于其他人。