Не удается переопределить класс Magento

У меня есть интересная проблема. Внешний интерфейс моего сайта загружается нормально, однако, когда я пытаюсь перейти к:

domain.com/index.php/admin

Я получил белую страницу. Я включил режим отладки, и он отображает эту ошибку:

Array ( [type] => 64 [message] => Cannot redeclare class Mage_Admin_Model_Session [file] => /var/www/vhosts/domain.co.uk/sub-domain.co.uk/includes/src/__adminhtml.php [line] => 504 )

После обнаружения этой новой ошибки я попытался закомментировать / удалить все классы, которые он не может переопределить, в файле __adminhtml.php, один за другим. Только для того, чтобы найти это к тому времени, когда я закомментировал их все и обновил администратора страница, это не дает никакой ошибки вообще. Просто белая страница.

Есть идеи?

3

Решение

Вот несколько советов по устранению неполадок, которые вы можете попытаться найти, как найти причину проблемы.

Этот фрагмент покажет вам, где данный класс был определен ранее:

$className = 'Foo';
if ( class_exists( $className ) ) {
$rc = new ReflectionClass($className);
print __FILE__.':'.__LINE__. ": Class $className already defined in ". $rc->getFileName() . ":" . $rc->getStartLine();
}

Вы можете сделать то же самое для функций; просто используйте function_exists а также ReflectionFunction вместо.

Похоже, где-то файл включен / требуется дважды.
Если это __adminhtml.php файл, который включается один раз слишком часто, вы можете добавить вызов debug_print_backtrace() чтобы увидеть, откуда это включается.

Кроме того, если у вас есть настроенные файлы, вы можете использовать require_once вместо require,

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]