このエラーが頻繁に発生するため、php_error ログ ファイルは 2 秒ごとに 1MB 増加します。そして、サイトは非常に遅いです。
この行を wp-db.php に追加しようとしました
$this->query("set session wait_timeout=600" );
しかし、それは役に立ちませんでした。
Web サーバーは IIS 7、最新バージョンの mysql および wordpress です。
このトリックは、すべての WordPress バージョンで機能します。WordPress ディレクトリを開きます。ディレクトリには次のフォルダが含まれます。
wp-admin
wp-content
wp-includes
wp-includes を開きます。wp-db.php ファイルを検索します。ファイルが見つかった場合は、テキスト エディタを使用して開きます。テキスト エディタの検索ツールを使用して、次を検索します。
$this->ready = true;
行が見つかったら、見つかった行の直後に次の行を追加します。
//WP Query Gone Away Error Fix
$this->query("set session wait_timeout=600");
https://subinsb.com/fix-wordpress-error-mysql-server-has-gone-awayリンクをたどって、詳細を表示することもできます。
実行SHOW STATUS WHERE Variable_name LIKE '%onn%'
して、開いている接続の数を確認します。私は次のようになります。
Variable_name Value
Aborted_connects 1
Connections 629
Max_used_connections 3
Ssl_client_connects 0
Ssl_connect_renegotiates 0
Ssl_finished_connects 0
Threads_connected 2
実行SHOW PROCESSLIST
して、アクティブなプロセスを確認します。
問題は、開いている接続が多すぎて閉じていない可能性があります。これらのコマンドを実行すると、少なくとも何が問題なのかについての洞察が得られます。