Lỗi sau khi vá thành công SUPEE-5994: Không tìm thấy lớp 'Mage_Install_Contoder_Router_Install'


36

Tôi đã cài đặt thành công bản vá 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.

Nhưng bây giờ, tất cả các trang web của tôi đều trống.

Nhật ký lỗi httpd:

[báo lỗi]

Tôi đã cố gắng:

  • Xóa / var / bộ đệm
  • Đặt lại chmod / chown
  • Khởi động lại dịch vụ httpd

Nhưng dường như không có gì để làm việc.

Bất cứ ai cũng có cùng một vấn đề?

EDIT: Tệp 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');

Câu trả lời:


38

Bạn đã tắt và xóa biên dịch?

thông qua giao diện điều khiển / ssh bạn có thể sử dụng

$ php -f shell/compiler.php -- disable

$ php -f shell/compiler.php -- clear

$ php -f shell/compiler.php -- compile

$ php -f shell/compiler.php -- enable

có thể cần dòng thứ tư ... không chắc chắn.

Nó có thể là một vấn đề với dòng đi trước mã bạn đã hiển thị

$routersInfo = Mage::app()->getStore()->getConfig(self::XML_STORE_ROUTERS_PATH);

Lưu ý: Tôi gặp vấn đề tương tự khi quản trị viên trống, tuy nhiên đó hóa ra là một tệp trong mô-đun ghi đè một trong các tệp cốt lõi - nhưng đây không phải là trường hợp của bạn. Chỉ trong trường hợp người khác nhìn vào vấn đề này.


Wow, bạn là chàng trai! Cảm ơn nhiều. Chỉ cần chỉnh sửa dòng thứ ba, đó là php -f shell / Trình biên dịch.php - biên dịch cho tôi. Nó hoạt động!
Cqke

1
Mát mẻ. Có vấn đề thực sự khi cập nhật trang web vào tuần trước :) Vui mừng khi được giúp đỡ
Jon Holland

1
Cập nhật điểm tốt.
Jon Holland

Đó là những gì upvote dành cho, Jon
David Wilkins

:) tôi biết thực sự, David. Thật tuyệt khi thấy mọi người thoát khỏi một món dưa muối.
Jon Holland

14

Nếu bạn đã tắt trình biên dịch và xóa bộ đệm và bạn vẫn gặp lỗi

Class 'Mage_Install_Controller_Router_Install' not found

Kiểm tra xem các tập tin app/code/core/Mage/Install/Controller/Router/Install.phptồn tại.

Khi bạn chạy bản vá, thư mục Routerkhông tồn tại app/code/core/Mage/Install/Controllervà vì vậy Install.phptệp không được tạo mặc dù được thông báo khác trong applied.patches.listtệp. Điều này có nghĩa là bạn đang thiếu một lớp và bạn nhận được thông báo:

Fatal error: Class 'Mage_Install_Controller_Router_Install' not found

Trích từ applied.patches.listcài đặt bản vá được cho là thành công mà không tạo được tệp Install.php:

patching file app/code/core/Mage/Install/Controller/Router/Install.php
patching file app/code/core/Mage/Install/etc/config.xml

Bản vá tạo ra phần bổ sung sau vào app/code/core/Mage/Install/etc/config.xmltệp tham chiếu tệp bị thiếu:

 <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>

Ví dụ về những gì tập tin bị thiếu app/code/core/Mage/Install/Controller/Router/Install.phpđược cho là chứa.

<?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
Ngoài ra tốt Fiasco Labs, tôi đã nghe nói mọi người gặp rắc rối này.
Jon Holland

1
Mô tả chính xác những gì đã xảy ra trong trường hợp của chúng tôi và ở trên đã giải quyết vấn đề. Cảm ơn
Flipmedia
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.