Ошибка после успешного исправления SUPEE-5994:Класс «Mage_Install_Controller_Router_Install» не найден
-
13-12-2019 - |
Вопрос
Я успешно установил патч SUPEE-5994:
[root@x]# sh PATCH_SUPEE-5994_EE_1.14.1.0_v1-2015-05-14-05-05-02.sh
Checking if patch can be applied/reverted successfully...
Patch was applied/reverted successfully.
Но теперь все мои веб-страницы пусты.
Журнал ошибок httpd:
[ошибка] [клиент x] PHP Неустранимая ошибка:Класс «Mage_Install_Controller_Router_Install» не найден в /var/www/x/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php в строке 138.
Я пытался:
- Очистите /var/кэш
- Сбросьте chmod/chown
- Перезапустите службу httpd.
Но, похоже, ничего не работает.
У кого-нибудь есть такая же проблема?
РЕДАКТИРОВАТЬ:Файл Front.php:
Varien_Profiler::start('mage::app::init_front_controller::collect_routers');
foreach ($routersInfo as $routerCode => $routerInfo) {
if (isset($routerInfo['disabled']) && $routerInfo['disabled']) {
continue;
}
if (isset($routerInfo['class'])) {
// LINE 138 HERE
$router = new $routerInfo['class'];
if (isset($routerInfo['area'])) {
$router->collectRoutes($routerInfo['area'], $routerCode);
}
$this->addRouter($routerCode, $router);
}
}
Varien_Profiler::stop('mage::app::init_front_controller::collect_routers');
Решение
Вы выключили и очистили компиляцию?
через консоль / ssh вы можете использовать
$ php -f shell/compiler.php -- disable
$ php -f shell/compiler.php -- clear
$ php -f shell/compiler.php -- compile
$ php -f shell/compiler.php -- enable
.
может понадобиться четвертой строки ... Не уверен.
Это может быть проблема с строкой, которая приходит до того, как код, который вы показали
$routersInfo = Mage::app()->getStore()->getConfig(self::XML_STORE_ROUTERS_PATH);
.
Примечание. У меня была похожая проблема, в которой администратор был пустым, однако это оказалось файлом в модуле, который переопределял один из основных файлов - но это не в вашем случае.На всякий случай, когда другие смотрят на это с этим вопросом.
Другие советы
Если вы отключили компилятор и очистили кеш, но ошибка все равно возникает
Class 'Mage_Install_Controller_Router_Install' not found
Проверьте, есть ли файл app/code/core/Mage/Install/Controller/Router/Install.php
существует.
Когда вы запустили патч, каталог Router
не существовало в app/code/core/Mage/Install/Controller
и поэтому Install.php
файл не был создан, несмотря на то, что в файле указано иное applied.patches.list
файл.Это означает, что вы пропускаете урок и получаете сообщение:
Fatal error: Class 'Mage_Install_Controller_Router_Install' not found
Выдержка из applied.patches.list
для предположительно успешной установки патча, при которой не удалось создать файл Install.php:
patching file app/code/core/Mage/Install/Controller/Router/Install.php
patching file app/code/core/Mage/Install/etc/config.xml
Патч создает следующее дополнение к app/code/core/Mage/Install/etc/config.xml
файл, который ссылается на отсутствующий файл:
<default>
<web>
<routers>
<install>
<area>frontend</area>
<class>Mage_Install_Controller_Router_Install</class>
</install>
</routers>
</web>
</default>
<stores>
<default>
<web>
<routers>
<install>
<area>frontend</area>
<class>Mage_Install_Controller_Router_Install</class>
</install>
</routers>
</web>
</default>
</stores>
Образец недостающего файла app/code/core/Mage/Install/Controller/Router/Install.php
должен содержать.
<?php
/**
* Magento Enterprise Edition
*
* NOTICE OF LICENSE
*
* This source file is subject to the Magento Enterprise Edition End User License Agreement
* that is bundled with this package in the file LICENSE_EE.txt.
* It is also available through the world-wide-web at this URL:
* http://www.magento.com/license/enterprise-edition
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magento.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magento.com for more information.
*
* @category Mage
* @package Mage_Install
* @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
* @license http://www.magento.com/license/enterprise-edition
*/
class Mage_Install_Controller_Router_Install extends Mage_Core_Controller_Varien_Router_Standard
{
/**
* Check if current controller instance is allowed in current router.
*
* @param Mage_Core_Controller_Varien_Action $controllerInstance
* @return boolean
*/
protected function _validateControllerInstance($controllerInstance)
{
return $controllerInstance instanceof Mage_Install_Controller_Action;
}
}