我有一个建立在 MS SQL Server 2000 上的遗留业务应用程序。我有一些基于 web 的实用程序,它们使用带有 mssql 扩展的 PHP 5.2 访问这个数据库。
我需要重新安装网络服务器,我期待升级到 PHP 5.4。不幸的是,PHP 5.3 及更高版本不支持 mssql 扩展。有sqlsrv extension available form Microsoft ,但说明只支持访问 SQL Server 2005 及更高版本。
如何从 PHP 5.4 连接到我的 SQL Server 2000?有没有人已经解决了这个问题?
最佳答案
这是一个非常复杂的问题。以下是(不)兼容性的详细信息,因此其他人可能会花更少的时间进行搜索和尝试。
来自 Microsoft 的 PHP 扩展 sqlsrv
sqlsrv 存在两个(+ 一个非官方)版本,它们仅与 32 位 PHP 兼容。目前没有适用于 64 位 PHP 的版本。
PHP 的 ODBC 扩展
使用 PHP 5.4 访问 SQL Server 2000 的另一种方法是通过 odbc 扩展。可以使用 SQL Server 2000 的三个 ODBC 驱动程序进行连接:
每个 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 位。我还没有测试哪个是最好的。
关于sql-server-2000 - 如何从 PHP 5.3 及更高版本连接到 MSSQL 2000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19783613/