2

我收到错误 Fatal error: Cannot redeclare config() (previously declared in.../basics.php:58, in live server。它在我的本地服务器上工作正常,但是当我将站点上传到 live 服务器时,我得到了致命错误。我检查了 config() 是否被声明了多次,但它只在 basics.php 文件中声明了一次。也遵循命名约定,因为它在本地服务器上工作正常。它只在实时站点中显示这样的错误.请为此提出解决方案。

对此的帮助将不胜感激。

4

5 回答 5

2

我在运行 Apache 时遇到了这个错误,它最终与我的.htaccess文件被忽略有关——我一直在重新配置 Apache,并且不小心在我的配置文件中设置AllowOverrideNone,这在某种程度上导致了这个错误。

因此,简而言之,在您的 http.conf 或您的站点配置之一中,确保您的相关目录部分中的 AllowOverride 设置为All(或其他内容None),这是我的:

<Directory /var/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All 
    Order allow,deny
    allow from all
</Directory>
于 2011-10-17T21:41:45.320 回答
2

将 $uses 设置为 array() 并将 $autoRender 设置为 false 如下将解决此问题

   class IndexController extends AppController
    {

        public $uses = array();
        public $autoRender = false;

        public function index()
        {
            echo 'test';
        }

    }
于 2011-08-23T08:01:26.867 回答
1

如果多次包含“basics.php”,就会发生这种情况。include_once/require_once您可以通过使用代替来防止它include/require

但这并不能解释为什么它可以在您的本地网络服务器上运行。

于 2011-01-13T10:00:48.237 回答
1

以防万一有人碰巧搜索这个。

我在安装有 cakephp 1.3.11 的 Windows 2003 服务器上遇到了同样的错误。就我而言,这是因为我在一个类关联声明中有错字。

我已经定义了一个与 Account 类有关联的Client类。在那里,我错误地向Client键入了 className 属性,这创建了一个循环并导致cakePHP 中出现 Cannot redeclare config() 错误

于 2011-08-21T19:57:05.480 回答
1

检查您的 PHP 版本。当您使用比 5.3 更严格的 PHP 版本 5.4 时会发生错误

打开你的 cake/bootstrap.php 并进行更改以确保每个文件都使用函数“require_once”加载一次。代码将是这样的:

require_once CORE_PATH . 'cake' . DS . 'basics.php';
require CORE_PATH . 'cake' . DS . 'config' . DS . 'paths.php';
require_once LIBS . 'object.php';
require_once LIBS . 'inflector.php';
require_once LIBS . 'configure.php';
require_once LIBS . 'set.php';
require_once LIBS . 'cache.php';
Configure::getInstance();
require_once CAKE . 'dispatcher.php';
于 2013-08-25T09:46:43.193 回答