1

这是我正在尝试使用的 WordPress 本地安装。我自己没有写过这段代码。我不明白这个错误是什么意思:

Fatal error: Cannot redeclare class Config in /Applications/XAMPP/xamppfiles/lib/php/Config.php on line 44

第 44 行内容如下:

class Config {

我的猜测是一个Config类已经在别处声明,或者这个文件正在第二次执行。

4

2 回答 2

5

当您在一个页面中多次声明一个类时,通常会发生这种情况——可能是通过多个包含。

为避免这种情况,请require_once改用。如果您使用require_oncePHP 将检查该文件是否已被包含,如果是,则不再包含(要求)它。

例如,假设您有以下代码:

<?php

class foo {
    # code
}

... more code ...


class foo { // trying to re-declare
    #code
}

在这种情况下,PHP 将抛出一个类似于以下的致命错误:

致命错误:无法在第 7 行的 /path/to/script.php 中重新声明类 foo

在这种情况下,它非常简单——只需找到代码的第 7 行并从那里删除类声明。

或者,为了确保您不尝试重新声明类,您可以使用方便的class_exists()功能:

if(!class_exists('foo')) {
    class foo { 
        # code
    }
}

当然,最好的方法是将所有配置组织在一个名为的文件中config.php,然后将require_once其组织到任何地方。这样,您可以确定它只会被包含一次。

至于调试错误,您可以使用debug_print_backtrace().

于 2013-11-04T12:58:46.383 回答
1

您使用的主题可能是指名为 config.php 的文件。如果是这样,请使用以下步骤。

  1. 尝试找到 config.php 文件并将其名称更改为 configuration.php。
  2. 在代码中找到他们使用 config.php 的文件,并将其更改为 configuration.php。
于 2014-06-25T14:14:19.630 回答