我经常收到此错误,以至于 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
以查看哪些进程处于活动状态。
问题可能是您打开了太多连接而不是关闭它们。运行这些命令至少可以深入了解可能存在的问题。