PHP - 致命错误:无法在第44行的/path/to/Config.php中重新声明类Config

时间:2013-11-04 12:54:24

标签: php wordpress

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

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

第44行内容如下:

class Config {

我的猜测是Config类已在其他地方声明,或者该文件第二次被执行。

2 个答案:

答案 0 :(得分:5)

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

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

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

<?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()

答案 1 :(得分:1)

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

  1. 尝试找到config.php文件并将其名称更改为configuration.php。
  2. 在代码中找到他们使用config.php的文件,并将其更改为configuration.php。