不明原因死亡的白屏,但在重新启动服务器后修复

时间:2019-05-01 作者:Bashabi

enter image description here

我们正在经历的问题对我们来说是非常新的。我们的网站或web服务器(在过去8年中)从未遇到过这种情况。就在最近的两周,我们遇到了这个问题,它发生了三次以上。

Problem Description

我们的网站正在经历“死亡的白幕”。我们没有看到任何错误。请查看屏幕截图以更好地理解。就是这样。该站点只是尝试加载,但无法加载。

enter image description here

Findings : what we have done to fix this

如果重新启动服务器(重新启动整个虚拟机),我们可以(暂时)修复它。

但这不是一个可行的解决方案。因为我们在该服务器上有其他Wordpress和非Wordpress网站,但没有这个问题。重新启动服务器意味着服务器中的所有站点都会停机5-10分钟。重新启动后,服务器站点会恢复正常运行。

但自上周以来,这个问题至少发生了3次。我们无法通过单击任何页面来复制错误。一天中没有特定的时间发生这种情况。

Further information

我们能想到的唯一重大变化是在web服务器中将网站的PHP版本从5.3升级到7.2。仅供参考,我们上个月升级了PHP版本。大约三个星期以来,我们没有看到这一问题或任何其他问题。该网站的wordpress版本为4.9.1

Web服务器-Apache

数据库-我的SQL 5.1.7

服务器中有大量可用磁盘空间

我们已尝试在出现问题时查看错误日志。但我们找不到任何相关的东西。这是我们可以在错误日志中看到的错误。虽然我认为这不是问题所在,但我已经更正了错误日志中提到的SQL查询。但我们今天再次面临同样的问题。

我可以从我的cpanel中看到以下日志文件

Web服务器错误日志enter image description hereWeb服务器ssl错误日志enter image description here

web服务器传输日志enter image description here

Web服务器ssl传输日志enter image description here

[Tue Apr 23 13:48:35 2019] [error] [client 101.180.145.79] FastCGI: server "/var/run/psychicf-remi-safe-php72.fcgi" stderr: PHP message: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'ORDER BY number DESC\' at line 1 for query SELECT * FROM  view_site_numbers WHERE campaign_id = "7" AND `use` = "PPC" LIMIT 2 ORDER BY number DESC made by require(\'wp-blog-header.php\'), require_once(\'wp-includes/template-loader.php\'), include(\'/themes/psychicFuture/css/content-all-horoscopes.php\'), get_header, locate_template, load_template, require_once(\'/themes/psychicFuture/header.php\'), do_shortcode, preg_replace_callback, do_shortcode_tag, get_prs_number_register, referer: https://thehoroscopejunkie.ca/weekly_horoscopes.html
PHP兼容性检查器插件显示以下错误enter image description here我不知道去哪里看。你能给我一些建议吗?

2 个回复
SO网友:phatskat

我不认为这能提供一个解决方案,但希望我能帮你解决一点问题。

首先,我们来看一下调试:

调试

您说的是“白屏死亡”,但您提供的屏幕截图看起来更像是在加载页面时挂起的。通常情况下,WSOD显示为完全空白的页面。您的屏幕截图显示了默认的“New Tab”视图和加载微调器,表明服务器没有响应。

如果您让此页面“加载”一段时间(至少几分钟),是否会出现任何错误?通常,当Chrome最终放弃时,它最终会发出一条消息,比如“重定向太多”或类似的消息,或者当Chrome最终出现白色屏幕时,它真的会失败吗?

wp admin和White screen如果是白色屏幕,当您尝试转到/wp-admin/? 这一点很重要,因为当您访问时,如果安装的数据库设置有问题,WordPress将显示一些与调试相关的信息/wp-admin/ 否则,它不会出现在前端。

WordPress调试日志WordPress还包括默认情况下禁用的内部调试。在您的问题中,您注意到您检查了错误日志,但没有指定哪些日志。执行以下操作可能会有所帮助:

将这些行添加到wp-config.php:

define( \'WP_DEBUG\', true );
define( \'WP_DEBUG_LOG\', true );
这将启用对文件的调试日志记录/wp-content/debug.log. 再次尝试加载站点,直到加载失败(服务器超时、重定向过多等)。检查日志以查看是否发现任何错误

SQL错误虽然可能不是问题的原因,但SQL错误可以轻松处理。您的自定义查询应具有LIMIT 语句后ORDER BY 条款:

SELECT * FROM  view_site_numbers WHERE campaign_id = "7" AND `use` = "PPC"  ORDER BY number DESC LIMIT 2

进一步调查

正如其他人所指出的,可能值得一看stackoverflow。com获取更多帮助,因为该问题肯定“感觉”与服务器相关。你说你最近升级了你的PHP版本-看看你是否可以降级,看看问题是否仍然存在,这可能不会有什么坏处,但是,我想不出有什么事情会导致这样的问题(如果是无限加载,而不是直接的白屏)。

此外,考虑到它只是间歇性地发生,这让我觉得它与应用程序代码的关系不如与服务器本身的关系大。如果您可以访问访问日志,则可以检查DDOS尝试。您还应该检查您的进程,看看是否有任何东西正在泄漏,是否在没有正确停止的情况下占用了越来越多的内存,或者只是永远运行并消耗掉您的CPU。

祝你好运

SO网友:Rick Hellewell

我建议将WP、所有主题和插件更新到当前版本。您可以检查实际使用的PHP版本。(创建一个模板并用phpinfo()函数替换“循环”,或者通过宿主cpanel查看)。

也许“fastcgi”选项对您的站点不好,所以请尝试返回“常规”PHP 7。x。

错误日志应该为您提供更多信息,但您提到已经在那里查看了。您的托管支持可能会有所帮助。(如果您的站点有主机;尽管看起来您是自主机。)

相关推荐

403禁止的本地主机WAMP APACHE PHP

我对wordpress/网站设计完全陌生,我正在关注youtube上关于创建自定义主题的教程。我已经在localhost中建立了一个网站,我正在使用permalinks导航到网站中的页面。然而,当我尝试使用永久链接时,它会给我一个“403禁止”通知,并说“我没有权限访问此服务器上的永久链接”在网上调查之后,我的问题似乎是apache和php代码不允许permalink工作,我在网上找到了关于如何解决这一问题的视频,但这些视频都是多年前在apache httpd上发布的。conf文件代码已经更改,并且在ph