当我尝试转到某个页面时,为啥 Wordpress 会输出 phpinfo()?

Posted

技术标签:

【中文标题】当我尝试转到某个页面时,为啥 Wordpress 会输出 phpinfo()?【英文标题】:Why is Wordpress outputting phpinfo() when I try and go to a page?当我尝试转到某个页面时,为什么 Wordpress 会输出 phpinfo()? 【发布时间】:2012-01-08 16:25:25 【问题描述】:

我刚刚将一个 Wordpress 安装从远程主机转移到我的本地开发机器上运行。在远程服务器上,它功能齐全。

但是,在我的开发框中,我只能加载主页。其他 URL 只是加载一个标准的 phpinfo() 页面,没有错误。

有人知道是什么原因造成的吗?

【问题讨论】:

大海捞针!也许您的 .htaccess 文件?如果您使用的是 SEO 友好的 URL,那么您需要确保 mod_rewrite 已启用并且您的 .htaccess 文件设置正确。 我知道,很抱歉我不能提前提供更多细节! 【参考方案1】:

听起来你在你的开发盒上使用了 MAMP 或 WAMP,这将加载一个默认的 vhost,显示任何不存在的页面的 phpinfo。

在 wordpress 内部,设置,在 DB 中,听起来你有 Url 的“硬编码”,比如“http://www.mysite.com”,它们在本地不起作用,因为你的“开发”Url 类似于“http” ://localhost"

无论何时使用开发服务器,尤其是使用 wordpress,您都应该将开发服务器设置在靠近生产服务器的位置。这意味着您应该编辑您的主机文件以使“http://www.mysite.com”实际上进入您的开发框或本地主机。这样,您就可以在投入生产时查看所有内容。

【讨论】:

【参考方案2】:

在托管公司重新安装 SSL 证书后,我也遇到了这个问题。

我做了一些搜索,实际上只找到了这个线程,它让我知道某处隐藏了一个 404 错误,所以我检查了 php_errors.log 文件(我在 FTP 站点的根文件夹中找到) - 打开在记事本中发现了许多错误,例如: PHP 致命错误:在第 385 行的 /var/www/vhosts/mywebsite.com.au/httpdocs/wp-content/plugins/wordpress-https/lib/Mvied/Plugin.php 中找不到类 'WordPressHTTPS_Module_phpinfo'

所以 - wordpress-https 插件中确实缺少一个文件。

为了更正,我将包含该插件的文件夹重命名(例如 wp-content/plugins/wordpress-https 为 wp-content/plugins/wordpress-https-disabled) - 有效地禁用了插件。

这让我可以登录到 wordpress 管理员,安装该插件的最新版本 - 运行良好,然后删除了旧文件夹(wordpress-https-disabled)

在那之后,一切都像黄金一样好 希望对某人有所帮助:)

【讨论】:

【参考方案3】:

    在文本编辑器中打开 httpd.conf

    改变; AllowOveride none

    到; AllowOveride All

【讨论】:

【参考方案4】:

我在本地克隆远程站点时遇到了同样的挑战。

我通过检查 .htaccess 文件并更正此行以指向正确的项目文件夹来修复它:

RewriteRule . /wordpress/index.php [L]

【讨论】:

以上是关于当我尝试转到某个页面时,为啥 Wordpress 会输出 phpinfo()?的主要内容,如果未能解决你的问题,请参考以下文章

在 WordPress 中使用 .html 页面

离开主页后域名消失

wordpress中自定义帖子类型的分页

为啥 UILable 在从另一个页面传递值之前不会显示?

为啥在c#,mvc中退出并按下浏览器后退按钮时会转到一个页面

为啥 Wordpress wp_update_post 函数会删除 html 表单标签?