php - 可过滤的侧边栏已替换为错误消息

标签 php magento error-handling sidebar magento-1.8

我正在制作一个目前正在开发的 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/

相关文章:

php - 如何使用 jquery 根据选择下拉列表显示文本区域?

magento - 如何以编程方式比较 magento 版本?

Magento 2.2 产品收集工厂不退回所有产品

c# - Visual C# 中用户定义的错误集合

php - 使用 Laravel 4 验证多个文件上传

javascript - 关闭 fancybox 时将变量从 fancybox 传递到父页面

PHP Amazon S3 上传和标签

php - Magento - onePage 结账和 SSL (HTTPS)

excel - 我正在尝试针对未找到搜索项的代码进行调整

asp.net-mvc - 在 ASP.NET MVC 中返回 FileResult 的错误消息/页面