这是一个非常复杂的问题。以下是(内)兼容性的详细信息,因此其他人可能会花更少的时间搜索和尝试。
来自 Microsoft 的 PHP 扩展 sqlsrv
sqlsrv 存在两个(+ 非官方)版本,它们仅与 32 位 PHP 兼容。当前没有 64 位 PHP 的版本。
- sqlsrv 2.0 版兼容 PHP 5.2.4 到 5.3.x 和 SQL Native 客户端 2008 R2 以连接到 Microsoft SQL Server 2000、2005 或 2008。
- sqlsrv 3.0 版兼容 PHP 5.3.0 到 5.4.x 和 SQL Native 客户端 2012 以连接到 Microsoft SQL Server 2005、2008、2008 R2 和 SQL Server 2012。
- 目前没有正式版本支持PHP 5.5
- Rob's Area 上有一个非官方版本的 SQLSRV 3.0,它不需要 SQL Native 客户端 2012,但应该与以前的 SQL Native 客户端一起运行。这个我还没试过。
PHP的ODBC扩展
使用 PHP 5.4 访问 SQL Server 2000 的另一种方法是通过 odbc 扩展。可以使用 SQL Server 2000 的三个 ODBC 驱动程序进行连接:
- 预装 Windows 2008 R2 的 SQL Server ODBC 客户端版本 6.00
- SQL Server Native Client 9.0(SQL Server 2005 功能包)
- SQL Server Native Client 10.0(SQL Server 2008 R2 功能包)
每个 ODBC 驱动程序的连接代码:
$connection_string = 'DRIVER={SQL Server};SERVER=mbsql;DATABASE=vg1';
$connection_string = 'DRIVER={SQL Native Client};SERVER=mbsql;DATABASE=vg1';
$connection_string = 'DRIVER={SQL Server Native Client 10.0};SERVER=mbsql;DATABASE=vg1';
$connection = odbc_connect( $connection_string, $user, $pass );
这些连接适用于 PHP 32 位和 64 位。我还没有测试哪一个是最好的。