1

フレックスでphpサービスに接続しようとすると、このようなエラーが発生しました.(ルート、パスワード、データベース名をすべて正しく指定しました)

Warning: mysqli_connect() [<a href='function.mysqli-connect'>function.mysqli-connect</a>]: MySQL server has gone away in C:\wamp\www\harisample\services\SamplePhp.php on line 54
4

1 に答える 1

0

MySQL server has gone awayエラーが発生した場合は、次のいずれかが発生していることを意味します。

  1. クライアントがサーバーに質問を送信できませんでした。
  2. クライアントは、サーバーへの書き込み時にエラーを受け取りませんでしたが、質問に対する完全な回答 (または任意の回答) を取得しませんでした。
  3. サーバーへの接続を閉じた後にクエリを実行しようとしました。これは、修正が必要なアプリケーションの論理エラーを示しています。
  4. 別のホストで実行されているクライアント アプリケーションには、そのホストから MySQL サーバーに接続するために必要な権限がありません。
  5. MYSQL_OPT_READ_TIMEOUT または MYSQL_OPT_WRITE_TIMEOUT 変数が低すぎる
  6. サーバー側でタイムアウトが発生し、クライアントでの自動再接続が無効になっています (MYSQL 構造の再接続フラグが 0 に等しい)。
  7. Windows クライアントを使用しており、コマンドが発行される前にサーバーが接続を切断しました (おそらく wait_timeout が期限切れになったため)。

これを修正するのは簡単ですが、サーバーへの完全なルート アクセス権がある場合に限ります。

  1. mysqld の起動時に wait_timeout 変数を設定することで、時間制限を変更できます。詳細については、このリンクを参照してください
  2. スクリプトがある場合は、クライアントが自動再接続を行うためにクエリを再度発行するだけです。これは、クライアントで自動再接続が有効になっていることを前提としています (これは mysql コマンドライン クライアントのデフォルトです)。
于 2013-03-19T18:33:52.230 に答える