私はすでに2日間解決策を探しています。私は次の効果を得ています:
array(2) {
[0] => array(6) {
[0] => string(5) "IMSSP"
["SQLSTATE"] => string(5) "IMSSP"
[1] => int(-49)
["code"] => int(-49)
[2] => string(390) "This extension requires either the Microsoft SQL Server 2008 Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Client ODBC Driver to communicate with SQL Server. Neither of those ODBC Drivers are currently installed. Access the following URL to download the Microsoft SQL Server 2008 R2 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712"
["message"] => string(390) "This extension requires either the Microsoft SQL Server 2008 Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Client ODBC Driver to communicate with SQL Server. Neither of those ODBC Drivers are currently installed. Access the following URL to download the Microsoft SQL Server 2008 R2 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712"
}
[1] => array(6) {
[0] => string(5) "IM002"
["SQLSTATE"] => string(5) "IM002"
[1] => int(0)
["code"] => int(0)
[2] => string(91) "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
["message"] => string(91) "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
}
}
「Microsoft SQL Server 2008 R2 Native Client」はないように見えますが、あります。
ローカル マシンとテスト サーバーで既に同じ構成を使用しています。「Microsoft SQL Server 2008 R2 Native Client」がインストールされていない場合、ローカル マシンで同じエラーが発生していました。インストール後、問題は解決しました。
残念ながら、ここでは何の変化も見られません。
別の PHP および sqlsrv ドライバーを試していましたが、効果はありませんでした。
これはライブサーバーなので、あまり実験できません。
どうすればこれを機能させることができますか? これは、コントロール パネルの ODBC 設定と関係がありますか? 別のネイティブ クライアントもインストールされていますが、このライブ サーバーから削除できません。
この情報の読み方は?PHP sqlsrv ドライバーはネイティブ クライアントを認識しますか?
編集
問題は、すべてを 32 ビットで使用していることです。ネイティブ ドライバーは、ODBC コントロール パネルにも表示されます。PHP の Sqlsrv 拡張機能も、phpinfo に示されているように機能しています。
PHP の sqlsrv 拡張機能がそのネイティブ クライアントを「認識」しない可能性はありますか?
私は無力なので、Web サーバーとまったく同じ構成を設定し、より大胆な実験を行う VM をセットアップしています。