我正在制作一个目前正在开发的 Magento 网站。站点可过滤侧栏工作正常,它会按属性、类别、价格和制造商进行过滤,但是我刚刚清除了缓存,它突然被以下错误消息替换:
Warning: include(Mage.php): failed to open stream: No such file or directory in /var/www/magento/lib/Varien/Autoload.php on line 93 Warning: include(): Failed opening 'Mage.php' for inclusion (include_path='/var/www/magento/app/code/local:/var/www/magento/app/code/community:/var/www/magento/app/code/core:/var/www/magento/lib:.:/usr/share/php:/usr/share/pear') in /var/www/magento/lib/Varien/Autoload.php on line 93
错误:
Fatal error: Class 'Mage' not found in /var/www/magento/app/code/core/Mage/Core/functions.php on line 244
该站点在 EC2 AWS 实例上的 Magento Community 1.8.1 上运行。没有编辑任何核心文件,所以我无法真正理解为什么消息指向核心文件。
任何建议都会很棒!谢谢 :)
编辑:我得到了来自 New Relic 的错误跟踪,其中包含更多细节:
…eErrorHandler called at /var/www/magento/app/code/core/Mage/Core/
functions.php (244)
…rHandler called at /var/www/magento/app/code/core/Mage/Core/Block/
Template.php (241)
…etchView called at /var/www/magento/app/code/core/Mage/Core/Block/
Template.php (241)
…etchView called at /var/www/magento/app/code/core/Mage/Core/Block/
Template.php (272)
…nderView called at /var/www/magento/app/code/core/Mage/Core/Block/
Template.php (286)
…:_toHtml called at /var/www/magento/app/code/core/Mage/Core/Block/
Abstract.php (919)
…:toHtml called at /var/www/magento/app/code/core/Mage/Core/Block/Text/
List.php (43)
…:_toHtml called at /var/www/magento/app/code/core/Mage/Core/Block/
Abstract.php (919)
…::toHtml called at /var/www/magento/app/code/core/Mage/Core/Block/
Abstract.php (637)
…hildHtml called at /var/www/magento/app/code/core/Mage/Core/Block/
Abstract.php (581)
in Mage_Core_Block_Abstract::getChildHtml called at /var/www/magento/app/design/frontend/metrostore/default/template/page/category.phtml (58)
… include called at /var/www/magento/app/code/core/Mage/Core/Block/
Template.php (241)
…etchView called at /var/www/magento/app/code/core/Mage/Core/Block/
Template.php (272)
…nderView called at /var/www/magento/app/code/core/Mage/Core/Block/
Template.php (286)
…:_toHtml called at /var/www/magento/app/code/core/Mage/Core/Block/
Abstract.php (919)
…ct::toHtml called at /var/www/magento/app/code/core/Mage/Core/Model/
Layout.php (555)
…alled at /var/www/magento/app/code/core/Mage/Core/Controller/Varien/
Action.php (390)
…/www/magento/app/code/core/Mage/CatalogSearch/controllers/
ResultController.php (80)
…alled at /var/www/magento/app/code/core/Mage/Core/Controller/Varien/
Action.php (418)
…/var/www/magento/app/code/core/Mage/Core/Controller/Varien/Router/
Standard.php (250)
…called at /var/www/magento/app/code/core/Mage/Core/Controller/Varien/
Front.php (172)
…ont::dispatch called at /var/www/magento/app/code/core/Mage/Core/Model/
App.php (354)
in Mage_Core_Model_App::run called at /var/www/magento/app/Mage.php (684)
in Mage::run called at /var/www/magento/index.php (87)
看起来可能是 category.phtml 的第 58 行,这是它应该看起来的样子吗?
<?php if ($categorysidebar == 'left') { ?>
<div class="category-left">
<div class="col-main">
<?php echo $this->getChildHtml('global_messages') ?>
<?php echo $this->getChildHtml('content') ?>
</div>
<div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div>
</div>
<?php } elseif ($categorysidebar == 'right') { ?>
<div class="category-right">
<div class="col-main">
<?php echo $this->getChildHtml('global_messages') ?>
<?php echo $this->getChildHtml('content') ?>
</div>
<div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div>
</div>
<?php } elseif ($categorysidebar == 'full') { ?>
<div class="category-full">
<div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div>
<div class="col-main">
<?php echo $this->getChildHtml('global_messages') ?>
<?php echo $this->getChildHtml('content') ?>
</div>
</div>
最佳答案
终于找到了解决办法。后端允许使用符号链接(symbolic link)。
如果您有同样的问题,只需转到系统 > 配置 > 开发人员 > 允许符号链接(symbolic link)
只需禁用该选项,希望它也可以帮助您。
关于php - 可过滤的侧边栏已替换为错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25061025/