これに関する情報を探している他の人のために...これまでのところ、PHP5.2で実行されているMDB2でSQLExpress2008を動作させています。
リモートサーバーへの接続はまだ試していません。これまでのところ、ローカルホストで実行されているSQLExpressにのみ接続しています。
使用しているPHPにphp_mssql.dll拡張子が付いているかどうかはわかりません。いずれにしても、無効にしました。代わりに、 http: //docs.moodle.org/en/Installing_MSSQL_for_PHPのリンクからダウンロードしたphp_dblib.dllを使用しました。このライブラリは、FreeTDS(freetds.orgから)のビルドです。私はまだそれで主要なテストをしていませんが、私はそれに接続することができます、そして私は彼らがそれで「実際の」成功を収めていると同僚から言われました。
php_dblib.dllは、php_mssql.dllが提供するmssql_*関数の「置換」関数を提供します。したがって、php_dblib.dll拡張機能を有効にする前に、php_mssql.dll拡張機能を無効にする必要があります。
注意すべきその他の小さなこと:
1)SQL ExpressとPHPに関するほとんどのドキュメントでは、DB接続情報のホストセクションに「インスタンス」名を含める必要があると記載されていますが、これは機能しないことがわかりました。実際、明示的に削除する必要がありました。 「\SQLEXPRESS」。
2)上記のMoodleリンクはphp_dblib.dllのPHP 5.3ビルドを提供しますが、残念ながらそれらはVC9でビルドされています。私が持っているPHP5.3のインストールはVC6でビルドされたので、PHP5.3用の独自のphp_dblib.dllのビルドに取り組んでいます。
とにかく、これが同じ問題を抱えている人々に役立つことを願っています。