【问题标题】:Can no longer install WordPress on MAMP- "Fatal error: Cannot redeclare class wpdb"无法再在 MAMP 上安装 WordPress-“致命错误:无法重新声明 wpdb 类”
【发布时间】:2011-09-28 05:44:36
【问题描述】:

长期以来,我一直在本地 MAMP 服务器上开发 WordPress 网站。现在突然之间,它不会让我创建任何新网站。每当我设置一个新的,而不是运行安装脚本我得到:

致命错误:无法重新声明类 wpdb 在 /Applications/MAMP/htdocs/[my_site]/wp-includes/wp-db.php 第 52 行

所有 WordPress 版本都会发生这种情况。我不能想到任何会导致这种情况的事情。除了重新安装 MAMP,我已经完成了所有工作。有没有人有任何想法?我现在很绝望..

【问题讨论】:

  • 亲密的选民请有礼貌地解释原因——这对我来说是一个关键问题
  • 亲密的选民可能认为这属于wordpress.stackexchange.com
  • 这是否意味着我们不允许就 SO 提出 WordPress 问题,即使它们是合法的编程问题?为什么会出现碎片化?
  • 当有一个特定的 StackExchange 站点可以解决问题时,这通常是更好的地方。如果不出意外,您可能会在这样一个专门的网站上得到更好的答案。
  • 不喜欢 - SO 的重点是专业知识的临界质量 - 碎片化似乎打败了它

标签: php wordpress mamp


【解决方案1】:

查看 php 的包含路径。 wordpress 的第二个实例很可能在包含路径上,因此与您尝试加载的那个冲突。也可能是包含路径上的不同包有一个名为 wpdb 的类,因此会导致冲突。

【讨论】:

  • 谢谢,但我不知道——我经常同时运行多个 WordPress 实例。我应该在哪里检查包含路径?
  • 检查 phpinfo() 的包含路径,因为这是一个全局问题。包含路径中的 Something 包含一个名为 wpdb 的类。当我升级我的 php 和 pear 版本时,我遇到了类似的问题,突然之间,我的 authenticate.php 类产生了与你相同的错误,因为 pear 库中有一个重复的类名。我的选择是更改梨库或重命名我的,所以我只是重命名了我的。对你来说,可能任何有冲突的东西都是不必要的,你可以安全地删除它。
【解决方案2】:

wpdb 正在某个地方再次创建,如果突然发生这种情况,我建议您禁用您最近添加的所有插件。或者甚至更好地对术语 class wpdb 进行全局查找,看看它是否出现在多个文件中。此外,请检查您的 functions.php 文件中是否存在可能多次加载 wp-db.php 的循环。

【讨论】:

  • @dotty- 奇怪的是,虽然这可能是由我正在玩弄的插件触发的,但它现在发生在我尝试安装的所有新的、完全干净、无插件的 WordPress 实例上,即使在重新启动 MAMP 服务器、重新启动计算机等之后......不明白这个问题是如何持续存在的
  • 安装在不同的目录怎么样?当你说instance时,你是在用wordpress MS吗?
  • @dotty- 例如,我只是指一个新的 WordPress 网站,而不是 MS- 是的,尝试在 diff 目录中安装- 没有帮助。这几乎就像是在 MAMP 服务器级别损坏了某些东西......
【解决方案3】:

解决方法是将 wpdp 类包装在 wp-includes/wp-db.php 中,如下所示:

第 52 行:

if(class_exists('wpdb') != true)
{

class wpdb {
...
}

}

这解决了安装问题-之后您可能可以将其删除,尽管我猜离开它不会有什么坏处。

仍然不明白为什么会出现这个问题-如果有人有解释,我很想听听。

【讨论】:

    猜你喜欢
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2014-11-07
    • 2012-07-31
    • 2017-01-21
    相关资源
    最近更新 更多