Frage

Wenn Sie darüber nachdenken, die Geschwindigkeit von Magento zu optimieren, gibt es mehrere Möglichkeiten wie Caching (PHP, Datenbank, sogar Page Caches), um Ihre Website zu beschleunigen.

Eine andere Möglichkeit besteht darin, die abgeschlossene Verarbeitung zu verringern. Er verringert die Anzahl der in Ihrem Geschäft ausgeführten Module.

Vor kurzem habe ich mich gefragt, ob es möglich / sicher ist, das Modul mage_reports zu deaktivieren.

Dies ist in der Datei app/etc/modules/Mage_All.xml wie

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

Es wird also mit dem Kern gebündelt und hängt von mehreren anderen Modulen ab.

Ich sehe jedoch keine anderen Module mit mage_reports als Abhängigkeit.

Ich habe es in einem Testgeschäft deaktiviert und alles scheint gut zu laufen.

Frage => Stimmt es, dass der Geschäft natürlich ohne dieses Modul gut laufen kann?

Oder gibt es Punkte, an denen mein Geschäft brechen wird, wenn dieses Modul nicht aktiviert wird?

War es hilfreich?

Lösung

Ihr Geschäft könnte funktionieren, das ist wahr, solange Sie Admin -Panel -Diagramme ebenfalls deaktiviert haben. In Wirklichkeit ist es jedoch alles bei Programmierern und wie sie Situationen umgehen, wobei Module deaktiviert sind. Das Problem ist, dass Magento 1.x keinen Handhabungsmechanismus hat, der dieses Problem automatisch für Sie lösen würde. Wenn Sie sich ansehen

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

Es wird zurückkehren false Wenn das Modul deaktiviert ist. Was alles bedeutet Mage::getModel('reports/.. wird sein false Und welche Methode, die Sie versuchen werden, das Objekt zu rufen (sollen), werden Sie a werfen Call to a member function on a non-object PHP Fatal Fehler.

Während das Magento -Team seine Arbeit erledigt hat (na ja, es tat es nicht, wenn Sie die Diagramme aktivieren, die Ihr Administrator beispielsweise auf dem Dashboard brechen sollte), können Sie nicht wissen, wie die Erweiterungen der Drittanbieter mit diesen Situationen umgehen, falls sie versuchen, das zu verwenden Reports Modul.

Also, wenn Sie sicherstellen, dass Sie alle Situationen, in denen reports werden genannt, dann können Sie es deaktivieren. Ansonsten besser nicht.

Andere Tipps

Ich kann Ihnen nicht sagen, was passieren wird, wenn Sie das Modul deaktivieren, aber ich kann Ihnen sagen, wie Sie (wahrscheinlich) seine Verarbeitungseinflüsse stoppen können, ohne es zu deaktivieren.

Alle seine Verarbeitungskosten kommen von Beobachtern. Und wahrscheinlich ein Xeon -Job, aber das ist hier nicht relevant. Wenn Sie die Beobachtung der Ereignisse stoppen können, können Sie den Overhead beseitigen.

Der naive Weg wäre, die config.xml zu bearbeiten und sie auszutauschen. Tu das nicht.

Der richtige Weg wäre, Ihr eigenes Modul zu erstellen, das von mage_reports abhängt und nur eine config.xml hat. Definieren Sie darin ein Front -End -Tag und kopieren Sie alle Beobachter von mage_reports. Dann ändern Sie das Ereignis, das sie zu einem Unsinn, dem nicht echten Ereignis, das niemals entlassen wird, an. Fügen Sie dann ein Tag unter dem Beobachter mit dem Namen Typ mit einem Wert von deaktiviert hinzu.

Wenn Sie in app.php in die Versandveranstaltung suchen, können Sie feststellen, dass es funktioniert. Sie überschreiben ihre mit einem behinderten Beobachter. Nichts wird angerufen und nichts bricht!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top