SQLSRV for PHP for MSSQL的配置问题

时间:2013-12-19 23:40:54

标签: php sql-server apache wamp

我正在使用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部分 - 当然我的连接测试程序也失败了。

可能出了什么问题?

有人可以帮忙吗?

3 个答案:

答案 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。这是一场斗争。希望这有助于其他人。