我在WordPress中运行一个运行无误的网站。但是,当我多次刷新页面或网站时(使用F5),它会显示建立数据库连接时出错该服务器中的其他网站或所有其他子域也会出现故障。
所以我的WordPress没有显示任何错误,但多次刷新导致建立数据库连接时出错
我该如何解决这个问题。
因为如果有任何错误,如主机名,数据库名等,它根本不应该运行网站,但只有在多次刷新时才会引起问题。
答案 0 :(得分:0)
简短答案:
如果网络上的解决方案都无法帮助您,请尝试重新启动数据库服务器或为其分配更多的内存。
扩展答案:
几个小时前我遇到了同样的问题。突然间,我在Wordpress管理面板中编辑了一些内容。
就我而言,我正在本地计算机上运行开发数据库服务器。
搜索该解决方案,我在网站根目录中创建了一个新脚本dbconnection.php
,其内容如下:
<?php
$link = mysqli_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysqli_error($link));
}
echo 'Connected successfully';
mysqli_close($link);
每三次(完全),我都使用该脚本刷新页面,并且收到消息Could not connect:
或No input file specified
。
我打开了服务器日志(Apache),这是我看到的:
[Thu Feb 06 14:04:51.101731 2020] [:error] [pid 30890:tid 139935881332480] [client 127.0.0.1:42729] FastCGI: server "/usr/lib/cgi-bin/php5.fcgi" stderr: PHP message: PHP Warning: fopen(/www/MY_VIRTUAL_HOST_DOMAIN/wp-content/languages/ru_RU.mo): failed to open stream: Too many open files in /www/MY_VIRTUAL_HOST_DOMAIN/wp-includes/pomo/streams.php on line 148, referer: http://MY_VIRTUAL_HOST_DOMAIN/wp-admin/post.php?post=250&action=edit ...
还有完整的堆栈跟踪。
所以我知道由于某种原因我的数据库无法创建更多连接。
在define( WP_ALLOW_REPAIR, true )
中定义常量wp-config.php
并没有帮助。
断开所有插件的连接也无济于事。在执行fclose()
之后,如果有任何PHP脚本没有执行fopen()
,我进行了快速搜索。
没有尝试扩展最大数据库连接限制,因为我想找到一个永久的解决方案。
因此,我要做的是关闭虚拟机(正在使用的开发环境),重新启动PC,再次启动所有功能,第二次没有出现问题。
日志中没有更多错误。
所以我猜想我在向数据库中添加更多数据时,我的VM刚好用完了RAM。这是非常不常见的,因为我为此分配了很多RAM(我有16 GB的内存中有11 GB)。
希望这会有所帮助。