PHPを使用してMSSQLデータベースに接続しようとしていますが、接続しようとすると非常に苛立たしいエラーが発生します。次のメッセージを出力する前に、1分間ロードされます。
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08001]:
[Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53].
これが私の接続文字列です:
DB::config("sqlsrv:Server={$dbHost} ; Database={$dbName}", $dbUser, $dbPass);
そして私のDBクラスでは:
public static function config($dsn, $user, $pass)
{
self::$_pdo = @new PDO($dsn, $user, $pass);
...// intentionally left out
私はとても困惑しています。php.iniファイルに次のモジュールが構成されています:extension=php_pdo_sqlsrv_54_ts.dll。正しくインストールしたと思いますが、ドライバーが機能していないというエラーメッセージは表示されませんが、このPHPのビットは何も出力しません。
if (function_exists( 'sqlsrv_connect' ))
echo "hey";
上記のエラーメッセージからわかるように、SQL Server NativeClient11は機能しているようです。私はWindowsプラットフォームを使用しています。ファイアウォールを無効にしてみましたが無駄になりました。SQLサーバーに関する情報があまりないか、ここで共有します。
Stackに投稿するのはこれが初めてなので、重要な情報を省略したり、何らかの方法で適切なエチケットに従わなかったりした場合はお詫びしますが、助けていただければ幸いです。
また、私はすでにグーグルをやりすぎて、成功していません。