最菜测试解决/wp-includes/wp-db.php on line 1924错误方法!
最近发现之前运行正常的sql查询现在在60秒后超时并抛出错误。进到空间后查看错误日志,发现频繁输出一条错误”/wp-includes/wp-db.php on line 1924“,导致查询速度变慢,但作为夜间工作的一部分运行,因此本身并不是问题(所以不要建议优化它)。
最主要的是WP站点使用的”WordPress Database Backup“插件也停止了数据备份且不发邮件!!!
但是,它总是超过60秒的事实告诉我,它可能是一个设置错误,而不是有限的资源问题。
所以,问题的出处应是在”php选项mysql.connect_timeout”
经过网上一通狂搜,很多朋友也有遇到过相关问题。
经测试,在functions.php中添加如下代码是可以修复的。(经测试已奏效)
@ini_set('mysql.connect_timeout', 300);
@ini_set('default_socket_timeout', 300);
另外还可在主机空间的根目录新建一个php.ini文件,并添加以下代码。(有效,需要重启apache)
mysql.connect_timeout = 300
default_socket_timeout = 300
如果你使用的是apache服务器,根目录没有.htaccess文件,可在根目录新建一个并粘贴以下代码。(推荐,无需重启apache)
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
php_value mysql.connect_timeout 300
php_value default_socket_timeout 300
</IfModule>
# END WordPress
就这样,那条可恶的”/wp-includes/wp-db.php on line 1924“报错就不会再现了!
且插件”WordPress Database Backup”又恢复了数据备份每日发送到邮件。
介就似小菜的解决办法!