Я получаю эту ошибку так часто, что файл журнала php_error увеличивается на 1 МБ каждые 2 секунды. и сайт очень медленный.
Я попытался добавить эту строку в wp-db.php
$this->query("set session wait_timeout=600" );
но это не помогло.
Веб-сервер – это 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
чтобы узнать, какие процессы активны.
Проблема может заключаться в том, что вы открываете слишком много соединений и не закрываете их. Выполнение этих команд, по крайней мере, даст представление о том, что может быть проблемой.