Windows 2000 Server SP4 での PHP 用 SQL Server ドライバ

Windows 2000 Server SP4 での PHP 用 SQL Server ドライバ

PHPアプリケーションのデモをインストールする必要があります。PHP 用 SQL Server ドライバーサーバーは、Windows 2000 Server SP4 を実行する古いマシンです。問題なくスタック全体をインストールしました。

  • アパッチ2.2.14
  • PHP5.3.1 より
  • SQL Server 2005 エクスプレス エディション
  • SQL Server Management Studio エクスプレス

しかし、期待通りに動作しないコンポーネントがあります。SQL Server ネイティブ クライアントsqlsrv_connect() を呼び出すとすぐにエラー メッセージが表示されます。4 つの異なるリリースを見つけましたが、どれも動作しません。

インストールしない場合、または 2005 バージョンをインストールする場合:

  • SQL状態: IMSSP
  • コード: -49
  • メッセージ: PHP 用 SQL Server ドライバーには、SQL Server と通信するための SQL Server 2008 Native Client ODBC ドライバー (SP1 以降) が必要です。この ODBC ドライバーは現在インストールされていません。次の URL にアクセスして、x86 用 SQL Server 2008 Native Client ODBC ドライバーをダウンロードしてください。http://go.microsoft.com/fwlink/?LinkId=163712

2008 バージョンをインストールする場合:

  • SQL状態: IM003
  • コード: 160
  • メッセージ: システム エラー 127 (SQL Server Native Client 10.0) のため、指定されたドライバーを読み込むことができませんでした。

PHP 用 SQL Server ドライバーのシステム要件1.1にはWindows 2000 Service Pack 4が含まれています。ただし、SQL Server 2008 Native Client のシステム要件Windows Server 2003 Service Pack 2 以上について言及しています。

何か案が?

答え1

SQL 2008 Native Client は Windows 2000 ではサポートされていないと思います。このアプリケーションをインストールできる Windows 2003 システムをお持ちですか?

答え2

セルバン・イリエスクからさらに詳しい情報を得た。公式フォーラム:

さらに調査を進めると、オペレーティング システムによって一部の dll 依存関係が満たされないため、SQL Server Native Client 2008 (別名 SNAC 10) は Windows 2000 では読み込まれないことがわかりました。現在、SNAC 10 に対して、ダウングレードを適切に行うことでこの問題を解決するための不具合が記録されていますが、この不具合はまだ解決されていません。その間、SNAC 9 (SQL Server Native Client 2005) にリンクされている PHP ドライバーの以前のバージョン (バージョン 1.0 など) を試すことができます。SNAC 9 は Windows 9 で動作するはずです。

総括する:

  1. PHP 1.1 用の SQL Server ドライバには SQL Server Native Client 2008 が必要です
  2. SQL Server Native Client 2008 には既知のバグがあり、Windows 2000 では読み込まれません。
  3. SQL Server Native Client 2005 は Windows 2000 でも正常に動作します。
  4. PHP 1.0 用の SQL Server ドライバには SQL Server Native Client 2005 のみが必要です。

私は、2005 バージョンの Native Client と一緒に古いバージョンの PHP ドライバーをインストールしました。また、PHP を 5.3 から 5.2 にダウングレードする必要がありました。

私のアプリケーション思われるPHP ドライバーの古いバージョンで動作するようにしました。これでデモがようやく稼働するようになりました。

関連情報