Kesalahan setelah berhasil melakukan patch SUPEE-5994: Kelas 'Mage_Install_Controller_Router_Install' tidak ditemukan


36

Saya berhasil menginstal patch 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.

Tapi sekarang, semua halaman web saya kosong.

Log kesalahan httpd:

[kesalahan] [klien x] Kesalahan fatal PHP: Kelas 'Mage_Install_Controller_Router_Install' tidak ditemukan di /var/www/x/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php on line 138

Saya sudah mencoba:

  • Bersihkan / var / cache
  • Setel ulang chmod / chown
  • Mulai ulang layanan httpd

Tapi sepertinya tidak ada yang berhasil.

Adakah yang memiliki masalah yang sama?

EDIT: File 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');

Jawaban:


38

Sudahkah Anda mematikan dan menghapus kompilasi?

melalui konsol / ssh yang bisa Anda gunakan

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

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

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

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

mungkin perlu baris keempat ... tidak yakin.

Mungkin ada masalah dengan baris yang muncul sebelum kode yang Anda tunjukkan

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

Catatan: Saya memiliki masalah yang sama di mana admin kosong, namun ternyata file dalam modul yang menimpa salah satu file inti - tetapi ini tidak dalam kasus Anda. Untuk berjaga-jaga jika ada yang melihat masalah ini.


Wow, kaulah orangnya! Terimakasih banyak. Cukup edit baris ketiga, itu php -f shell / compiler.php - kompilasi untuk saya. Berhasil !
Cqke

1
Keren. Memiliki masalah nyata memperbarui situs mate minggu lalu :) Senang membantu
Jon Holland

1
Tempat yang baik diperbarui.
Jon Holland

Untuk itulah upvotes, Jon
David Wilkins

:) ya saya tahu, David. Sangat menyenangkan melihat orang-orang keluar dari acar.
Jon Holland

14

Jika Anda telah menonaktifkan kompiler dan membersihkan cache dan Anda masih mengalami kesalahan

Class 'Mage_Install_Controller_Router_Install' not found

Periksa untuk melihat apakah file tersebut app/code/core/Mage/Install/Controller/Router/Install.phpada.

Ketika Anda menjalankan tambalan, direktori Routertersebut tidak ada di dalamnya app/code/core/Mage/Install/Controllersehingga Install.phpfile tersebut tidak dapat dibuat meskipun diberitahukan sebaliknya dalam applied.patches.listfile tersebut. Ini berarti Anda kehilangan kelas dan Anda mendapat pesan:

Fatal error: Class 'Mage_Install_Controller_Router_Install' not found

Kutipan dari applied.patches.listuntuk instalasi patch yang seharusnya berhasil yang gagal membuat file Install.php:

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

Patch membuat tambahan berikut untuk app/code/core/Mage/Install/etc/config.xmlfile yang mereferensikan file yang hilang:

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

Sampel apa yang app/code/core/Mage/Install/Controller/Router/Install.phpseharusnya berisi file yang hilang .

<?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 tambahan yang bagus, saya pernah mendengar orang mengalami masalah ini.
Jon Holland

1
Menjelaskan dengan tepat apa yang terjadi dalam kasus kami dan di atas menyelesaikan masalah. Terima kasih
Flipmedia
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.