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