Добрый вечер
Поставил сегодня российскую сборку на уже имеющийся магазин на Magento 1.9.0.1 как описано здесь - http://magento-forum.ru/topic/783/
Речь идёт о площадке hpdecor.ru
Сам сайт открылся нормально, но когда попытался зайти в настройки, меня выбросило на белый экран с ошибками:
Warning: simplexml_load_string(): Entity: line 20: parser error : Start tag expected, '<' not found in /home/hpdecor/public_html/includes/src/__default.php on line 44578
#0 [internal function]: mageCoreErrorHandler(2, 'simplexml_load_...', '/home/hpdecor/p...', 44578, Array)
#1 /home/hpdecor/public_html/includes/src/__default.php(44578): simplexml_load_string('loadString('loadFile('/home/hpdecor/p...')
#4 /home/hpdecor/public_html/includes/src/Mage_Adminhtml_Model_Config.php(90): Mage_Core_Model_Config->loadModulesConfiguration('system.xml')
#5 /home/hpdecor/public_html/includes/src/Mage_Adminhtml_Model_Config.php(63): Mage_Adminhtml_Model_Config->_initSectionsAndTabs()
#6 /home/hpdecor/public_html/app/code/core/Mage/Adminhtml/controllers/System/ConfigController.php(88): Mage_Adminhtml_Model_Config->getSections(NULL)
#7 /home/hpdecor/public_html/includes/src/__default.php(22532): Mage_Adminhtml_System_ConfigController->editAction()
#8 /home/hpdecor/public_html/includes/src/__default.php(39297): Mage_Core_Controller_Varien_Action->dispatch('edit')
#9 /home/hpdecor/public_html/includes/src/__default.php(38827): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#10 /home/hpdecor/public_html/includes/src/__default.php(41975): Mage_Core_Controller_Varien_Front->dispatch()
#11 /home/hpdecor/public_html/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#12 /home/hpdecor/public_html/index.php(87): Mage::run('', 'store')
#13 {main}
В админ панели в раздел - настройки не возможно войти, не открывается.
Warning: simplexml_load_string(): parser error: Start tag expected, '<' not found
21.10.2014 00:41
Причиной данного сбоя, как следует из диагностического сообщения, является повреждение одного из не имеющих отношение к Российской сборке Magento файлов XML.
Скорей всего, данный файл является пустым, так как система говорит, что не может найти в этом файле уже самый первый тег.
Вам нужно сейчас выяснить, что это за файл.
Система пишет его имя на строке #1 диагностического сообщения, но не полностью.
Чтобы узнать имя полностью, Вы можете отключить компиляцию и поставить логирование (Mage::log) точке загрузки файла.
Скорей всего, данный файл является пустым, так как система говорит, что не может найти в этом файле уже самый первый тег.
Вам нужно сейчас выяснить, что это за файл.
Система пишет его имя на строке #1 диагностического сообщения, но не полностью.
Чтобы узнать имя полностью, Вы можете отключить компиляцию и поставить логирование (Mage::log) точке загрузки файла.
21.10.2014 07:02
Спасибо, нашел решение проблемы.
Проблема заключалась в данном файле - app\code\core\Mage\Core\Model\Config.php
В этом файле найдите метод loadModulesConfiguration , содержащий следующий код:
foreach ($fileName as $configFile) {
$configFile = $this->getModuleDir('etc', $modName).DS.$configFile;
if ($mergeModel->loadFile($configFile)) {
$mergeToObject->extend($mergeModel, true);
}
}
Заменить на :
foreach ($fileName as $configFile) {
try {
$configFile = $this->getModuleDir('etc', $modName).DS.$configFile;
if ($mergeModel->loadFile($configFile)) {
$mergeToObject->extend($mergeModel, true);
}
} catch(Exception $e) {
Mage::log($configFile);
}
}
Проблема заключалась в данном файле - app\code\core\Mage\Core\Model\Config.php
В этом файле найдите метод loadModulesConfiguration , содержащий следующий код:
foreach ($fileName as $configFile) {
$configFile = $this->getModuleDir('etc', $modName).DS.$configFile;
if ($mergeModel->loadFile($configFile)) {
$mergeToObject->extend($mergeModel, true);
}
}
Заменить на :
foreach ($fileName as $configFile) {
try {
$configFile = $this->getModuleDir('etc', $modName).DS.$configFile;
if ($mergeModel->loadFile($configFile)) {
$mergeToObject->extend($mergeModel, true);
}
} catch(Exception $e) {
Mage::log($configFile);
}
}
21.10.2014 14:52
Править файлы ядра неправильно.
Правильно — устранить дефект стороннего повреждённого файла XML.
Также правильно было бы предварительно воспользоваться поиском по форуму.
Я ранее уже говорил в другой теме, как найти дефектный файл XML: lib/Varien/Simplexml/Config.php(510): Warning: simplexml_load_string: parser error
Более того, на форуме есть ещё и вторая инструкция, которую я давал почти 4 года назад:
Как провести диагностику сбоя «Warning: simplexml_load_string() parser error»?
Правильно — устранить дефект стороннего повреждённого файла XML.
Также правильно было бы предварительно воспользоваться поиском по форуму.
Я ранее уже говорил в другой теме, как найти дефектный файл XML: lib/Varien/Simplexml/Config.php(510): Warning: simplexml_load_string: parser error
Более того, на форуме есть ещё и вторая инструкция, которую я давал почти 4 года назад:
Как провести диагностику сбоя «Warning: simplexml_load_string() parser error»?
21.10.2014 19:48
Изучил, темы на которые дали ссылки.
Все откатил до своих изменений и сделал как описано. В system.log я получил сообщений:
Оба это компоненты или модули темы оформления.
После данных заголовков в найденных файлах я добавил:
<config>
</config>
но насколько корректно это
Все откатил до своих изменений и сделал как описано. В system.log я получил сообщений:
2014-10-22T03:42:38+11:00: <?xml version="1.0"?> <!-- /** * Clearandfizzy * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE_AFL.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * * @category Clearandfizzy * @package Clearandfizzy_EnhancedCMS * @copyright Copyright (c) 2012 Clearandfizzy ltd. (http://www.clearandfizzy.com/) * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * @description This file configures the Clearandfizzy tab and any default menus in the magento admin */ --> 2014-10-22T03:43:50+11:00: <?xml version="1.0"?> <!-- /** * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * * @category Soczed * @package Soczed_Less * @copyright Copyright (c) 2012 Soczed <magento@soczed.com> (Benoît Leulliette <benoit@soczed.com>) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ -->
Оба это компоненты или модули темы оформления.
После данных заголовков в найденных файлах я добавил:
<config>
</config>
но насколько корректно это
21.10.2014 19:55
В сообщении о сбое говорится, что корневой тег отсутствует, поэтому для устранения сбоя парсеру XML в документе XML нужен произвольный корневой тег. С другой стороны, этот корневой тег должен соответствовать ожиданиям Magento. Для файлов из модульной папки etc Magento действительно ожидает корневой тег config.