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


PHP - Fatal error: Cannot redeclare class Config in /path/to/Config.php on line 44

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

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

第44行内容如下:

class Config {

我的猜测是,一个Config类要么已经在其他地方声明,要么这个文件正在第二次执行。

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

若要避免这种情况,请改用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() .

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

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