当考虑优化洋红色的速度时,有几种可能性(例如缓存(PHP,数据库,甚至全页缓存))可以加快网站的速度。

另一种可能性是减少完成的处理量,即减少商店中运行的模块的数量。

最近,我想知道停用mage_reports模块是否可能 /安全。

这在文件中 app/etc/modules/Mage_All.xml 作为

<Mage_Reports>
    <active>true</active>
    <codePool>core</codePool>
    <depends>
        <Mage_Customer/>
        <Mage_Catalog/>
        <Mage_Sales/>
        <Mage_Cms/>
    </depends>
</Mage_Reports>

因此,它与核心捆绑在一起,并取决于其他几个模块。

但是,我看不到其他具有MAGE_REPORTS的模块是依赖性。

我在测试店里停用了它,一切似乎都很好。

问题=> 是真的,除了失去报告数据外,商店还可以在没有此模块的情况下运行良好吗?

还是当该模块未激活时,我的商店会破裂吗?

有帮助吗?

解决方案

您的商店可能会起作用,只要您还禁用了管理面板图,这是事实。实际上,尽管这一切都取决于程序员以及他们如何处理模块被禁用的情况。问题是,Magento 1.X没有可以自动为您解决该问题的处理机制。如果你看

public function getResourceModelInstance($modelClass='', $constructArguments=array())
{
    $factoryName = $this->_getResourceModelFactoryClassName($modelClass);
    if (!$factoryName) {
        return false;
    }
    return $this->getModelInstance($factoryName, $constructArguments);
}

它将返回 false 当禁用模块时。这意味着全部 Mage::getModel('reports/.. 将会 false 无论您尝试使用哪种方法(应该是)对象都会给您带来一个 Call to a member function on a non-object PHP致命错误。

虽然Magento团队完成了他们的工作(好吧,他们实际上没有,如果您启用图表,则您的管理员应该在仪表板上打破),但您不知道第三方扩展程序将如何处理这些情况,以防他们尝试使用该情况。 Reports 模块。

因此,如果您确保正在处理所有情况 reports 被称为,然后您可以将其禁用。否则,最好不要。

其他提示

我不能告诉您如果您禁用模块会发生什么,但是我可以告诉您如何(可能)在不禁用它的情况下停止其处理影响。

它的所有处理成本都来自观察者。也许是Xeon的工作,但这在这里没有意义。如果您可以停止观察事件,则可以消除开销。

天真的方法是编辑config.xml并将其评论。不要那样做。

正确的方法是创建取决于mage_reports并具有config.xml的模块。在此定义前端标签,并在所有观察者中复制Mage_reports。然后将他们观察到的事件更改为一些永远不会被解雇的真实事件。然后在名为类型的观察者下添加标签,并具有禁用的值。

如果您在app.php中查看派遣事件,则可以看到它有效。您用残障的观察者覆盖他们。什么都没有被打电话,什么也没有破裂!

许可以下: CC-BY-SA归因
scroll top