Невозможно повторно объявить ошибку config () в cakePHP - PullRequest
2 голосов
/ 13 января 2011

Я получаю сообщение об ошибке. Неустранимая ошибка: Невозможно повторно объявить config () (ранее объявленный в ... / basics.php: 58 на живом сервере. Он прекрасно работает на моем локальном сервере, но когда я загрузил сайт на действующий сервер Я получил фатальную ошибку. Я проверил, был ли config () объявлен несколько раз, но только один раз объявлен в файле basics.php. Соглашения об именах также соблюдаются, так как они хорошо работают на локальном сервере. Он отображает только такую ​​ошибку на живом сайте. Пожалуйста, предложите решение для этого.

Помощь по этому вопросу будет высоко ценится.

Ответы [ 5 ]

2 голосов
/ 18 октября 2011

У меня была эта ошибка при запуске Apache, и она закончилась тем, что мои .htaccess файлы были проигнорированы - я переконфигурировал Apache и случайно установил AllowOverride в None в моем конфигурационном файле, который был каким-то образомвызывая эту ошибку.

Итак, вкратце, в файле http.conf или в одном из ваших конфигов сайта убедитесь, что для параметра AllowOverride в соответствующем разделе каталога установлено значение All (или что-то отличное от * 1007).*) вот мой:

<Directory /var/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All 
    Order allow,deny
    allow from all
</Directory>
2 голосов
/ 23 августа 2011

установите $ использует для array () и $ autoRender в false следующим образом, чтобы решить эту проблему

   class IndexController extends AppController
    {

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

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

    }
1 голос
/ 25 августа 2013

Проверьте версию PHP.эта ошибка возникает, когда вы используете PHP версии 5.4, которая более строгая, чем 5.3

, откройте свой торт / 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';
1 голос
/ 21 августа 2011

На всякий случай, если кто-нибудь найдет это.

У меня была такая же ошибка на сервере Windows 2003 с установленным cakephp 1.3.11.В моем случае это произошло потому, что в одной декларации ассоциации классов была опечатка.

Я определил класс Client с ассоциацией hasOne с классом Account.Там я неправильно набрал свойство className для Client , что создало цикл и привело к ошибке Cannot redeclare config () в cakePHP .

1 голос
/ 13 января 2011

Это может произойти, если "basics.php" был включен несколько раз.Вы можете предотвратить это, используя include_once/require_once вместо include/require.

Но это не объясняет, почему он работает на вашем локальном веб-сервере.

...