200 OK 在恢复测试虚拟机上设置 Wordpress 的空白页

200 OK 在恢复测试虚拟机上设置 Wordpress 的空白页

我正在测试一个相当过时的 CentOS/Apache/MySQL/PHP/Wordpress 服务器的部分备份(遗留的,你能做什么?),方法是将相关软件包恢复到虚拟机中。经过多次尝试和磨难,我已经成功地wget从(仅通过 hosts 文件诡计发送到 localhost)获得一个不错的 200 OK 响应http://<site-domain-name>/。不幸的是,正文长度为零,日志基本上是空的。

phpinfo()报告display_errorsdisplay_startup_errorslog_errors都处于打开状态,并且error_log设置为/var/log/php_error,但不存在;error_reporting是一个整洁的 32767。报告的 MySQL、PHP 和 Apache 版本或多或少符合预期:5.0.95、5.3.29、2.2.23;Wordpress 是 3.9.2。

httpd.conf 长得可笑而且混乱,但是/etc/httpd/logs/error_log/etc/httpd/logs/defSite_error_log(特定于虚拟主机)和/etc/httpd/logs/defSite_access_log(也是特定于虚拟主机)都存在并且会间隔地写入;据我所知,无论是时间方面还是内容方面,都没有出现任何真正有趣的东西,尽管错误日志设置为调试级别。

目录(和子目录)中的所有 PHP 文件均归 apache 用户所有,我已验证 httpd 工作进程正在以该用户身份运行,并且所有文件均为-rwxr--r--

我已经验证 wp-config.php 中的 MySQL 连接信息是正确的。mysql、mysqli 和 pdo_mysql 都在输出中启用phpinfo()

xdebug + WinCacheGrind 说 PHP 在 wp-blog-header.php 及其调用中花费了 2001ms(其中 1830ms 在 wp-settings.php 和相关文件中),这对于一个大部分是静态的页面来说似乎有点过多,尽管该页面是在一台慢速笔记本电脑的 VM 中呈现的;没有任何调用die()

/wp-admin/options.php302 重定向到/wp-admin/upgrade.php,然后显示无需升级(?)并有一个指向站点根目录的“继续”链接。/wp-login.php另一方面, 看起来似乎合理,只是它使用了实时站点的 IP 地址。基于此,我进入数据库并将数字 IP 切换到域名(即中的siteurl和)。现在显示需要更新数据库才能继续。homewp_options/wp-admin/upgrade.php

我可能错误地遗漏了一些东西,但请告诉我应该运行哪些其他检查,我会看看我能做些什么。

答案1

今天刚遇到几乎一模一样的问题,跟踪代码后才找到原因,原来是其中一个插件没有报错,直接EXIT!!

您可以通过 var_dump wp-setting.php 中 wp_get_active_and_valid_plugins() 的每个元素来判断它是哪个插件。

这里显示的最后一个插件是导致问题的插件。

所以根本没有任何错误。

在此处输入图片描述

相关内容