ローカル マシンからリモート MySQL サーバーに接続する場合、接続失敗に関連するエラーが発生するのが一般的です。このようなエラーの 1 つは「SQLSTATE[HY000] [2002] 接続試行に失敗しました...」です。これは、ホストからの応答がないこと、または接続の確立に失敗したことを示します。
1.リモート アクセス制限:
デフォルトでは、MySQL サーバーは不正な接続から保護するためにリモート アクセスを制限します。プライベート ネットワークの外部からの接続を許可するには、次の手順を実行する必要があります。
2.データベース構成が正しくありません:
環境ファイル (「.env」など) のデータベース構成設定が正しいことを確認してください。 「DB_HOST」、「DB_DATABASE」、「DB_USERNAME」、「DB_PASSWORD」の値がリモート サーバーの設定と一致していることを確認します。
3.ファイアウォールの干渉:
ローカル マシンまたはリモート サーバーにファイアウォールがある場合、MySQL 接続がブロックされている可能性があります。ファイアウォールを一時的に無効にするか、ポート 3306 でのトラフィックを許可するルールを作成します。
4.タイムアウト:
ネットワーク速度が遅いか、サーバーの負荷が高いため、接続の試行が失敗する可能性があります。潜在的な遅延に対応できるように、データベース構成またはクライアント コードのタイムアウト設定を調整します。
5.その他のネットワークの問題:
ネットワーク接続をチェックして、中断や競合がないことを確認してください。リモートサーバーにアクセス可能であり、DNS 解決の問題がないことを確認します。
Laravel 5.1 は、PDO (PHP Data Objects) を使用してデータベースに接続します。データベース接続を構成するときは、必ず「driver」プロパティを「mysql」に設定してください。
DB_CONNECTION=mysql
問題が解決しない場合は、Laravel で「APP_DEBUG」を「true」に設定してデバッグ モードを有効にしてみてください。環境ファイル。これにより、根本原因の特定に役立つ詳細なエラー メッセージが表示されます。
以上がローカル マシンがリモート MySQL サーバーに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。