성공적인 패치 SUPEE-5994 후 오류 : 클래스 'Mage_Install_Controller_Router_Install'을 찾을 수 없음


36

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 치명적 오류 : 138 행의 /var/www/x/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php에 클래스 'Mage_Install_Controller_Router_Install'이 없습니다.

나는 노력했다 :

  • / var / cache를 지우십시오
  • 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');

답변:


38

컴파일을 끄고 지웠습니까?

콘솔 / 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);

참고 : 관리자가 비어있는 비슷한 문제가 있었지만 핵심 파일 중 하나를 재정의하는 모듈의 파일로 밝혀졌습니다. 그러나 이것은 귀하의 경우가 아닙니다. 다른 사람들 이이 문제로 이것을보고있는 경우를 대비하여.


와우, 당신은 사람이야! 많은 감사합니다. 세 번째 줄을 편집하면 php -f shell / compiler.php입니다-나를 위해 컴파일하십시오. 효과가있다 !
Cqke

1
시원한. 했다 진짜 문제 업데이트 사이트 지난 주 메이트 : 다행 도움으로
존 네덜란드

1
좋은 장소를 업데이트했습니다.
Jon Holland


:) 예, 데이빗. 사람들이 피클을 빠져 나가는 것을 만나서 반갑습니다.
Jon Holland

14

컴파일러를 비활성화하고 캐시를 지우고 여전히 오류가 발생하는 경우

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.listInstall.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;
    }
}

1
Fiasco Labs도 좋은데, 사람들에게 이런 문제가 있다고 들었습니다.
Jon Holland

1
우리의 경우에 일어난 일을 정확하게 설명하고 위의 문제가 해결되었습니다. 감사합니다
Flipmedia
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.