これは本当に複雑な問題です。互換性 (非) 互換性の詳細を次に示します。これにより、他の誰かが検索と試行に費やす時間を短縮できます。
Microsoft の PHP 拡張機能 sqlsrv
sqlsrv には 2 つの (+ 非公式の) バージョンがあり、32 ビット PHP とのみ互換性があります。現在、64 ビット PHP のバージョンはありません。
- sqlsrv バージョン 2.0 は、PHP 5.2.4 から 5.3.x および SQL Native client 2008 R2 と互換性があり、Microsoft SQL Server 2000、2005、または 2008 に接続します。
- sqlsrv バージョン 3.0 は、PHP 5.3.0 から 5.4.x および SQL Native client 2012 と互換性があり、Microsoft SQL Server 2005、2008、2008 R2、および SQL Server 2012 に接続します。
- 現在、PHP 5.5 をサポートする公式バージョンはありません
- Rob's Area には、SQL Native client 2012 を必要としない非公式バージョンの SQLSRV 3.0がありますが、以前の SQL Native クライアントで実行する必要があります。私はまだこれを試していません。
PHP の ODBC 拡張
PHP 5.4 で SQL Server 2000 にアクセスするもう 1 つの方法は、odbc 拡張機能を使用することです。SQL Server 2000 用の 3 つの ODBC ドライバーを使用して接続できます。
- Windows 2008 R2 にプレインストールされている SQL Server ODBC クライアント バージョン 6.00
- SQL Server Native Client 9.0 (SQL Server 2005 機能パック)
- SQL Server ネイティブ クライアント 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 ビットで動作します。私はまだどれが最高かをテストしていません。