2016-06-19 72 views
5

開発者!LaravelでPDO sqlsrv接続タイムアウトを修正するには?

私はLaravelフレームワークを使用しており、MS SQL 2014 Expressデータベースに接続する必要があります。私は.env内のすべての適切な設定を行った(と私も試してみましたdatabase.phpでの設定にすぐに接続パラメータを入れてみました)が、私は常にエラーでタイムアウトしそうだ最初のリクエストに応じて:

PDOException in Connector.php line 55: 
SQLSTATE[08001]: [Microsoft][ODBC Driver 11 for SQL Server]TCP Provider: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. 

タイムアウトの後、私はいつもこのPHPが致命的な取得:

時々私は成功した接続を確立することができ、私はXAMPPを使用している、と私は、Apacheサーバを再起動していたときのdevのツールとして、唯一の1のうち
FatalErrorException in Connector.php line 55 
Invalid handle returned. 

20-30回試してみる。

LaravelはPDOドライバを使用しているので、sqlsrv_connect()を使用しようとしました。エラーはなく、すべて正常です。

誰かがPDOを動作させるように設定できますか? LaravelはPDOドライバのみを使用するので、sqlsrv_connectに切り替えることはできません。

答えて

-1

同じエラーが発生した場合、パスワードが間違っていたことが判明しました。あなたは正しい値を持っていることを確認してください。

DB_HOST={youservername}.database.windows.net 
DB_DATABASE={dbname} 
DB_USERNAME={username} 
DB_PASSWORD={yourpassword} 
DB_PORT=1433 

それがパスワードをリセットして、私は同じエラーを持っていた、再び

0

をしようとしない解決しない場合。あなたの.env - ファイルから、それは私のために働いたあなたのconfig/database.phpから host // DB_HOSTエントリを除去した後

1

ローカルマシンでこの問題が発生しました。私はlaravelサーバーを再起動し、ms sql localdbが実行されていることを確認し、問題を解決しました。

0

私は接続のためにやったことは

  1. はSQLSRV DLLを正しいバージョンをインストールされています。
  2. Laravelのdoctrine dbalパッケージが更新されました。

私のデータベース構成は

'sqlsrv3' => [ 
      'driver' => 'sqlsrv', 
      'host' => '<host-name>', 
      'database' => '<database-name>', 
      'username' => '<your-username>', 
      'password' => '<your-password>', 
    ] 
を下回っています