Verwenden von Debug -Erweiterungen / Entwicklermodus genug Schutz
-
16-10-2019 - |
Frage
Es gibt einige schöne Erweiterungen für Magento -Entwickler, die Sie normalerweise nicht auf einem Live -System haben möchten.
Wie können Sie sie im Projektrepository behalten, aber vermeiden, dass sie in einem Live -Shop freigelegt werden?
Lösung
Es gibt zwei relativ neue Techniken, um dies zu tun:
Verwenden Modman Sie können sich also selbst steuern, was für jede Umgebung bereitgestellt werden soll. Das bedeutet, dass Sie rennen
modman deploy [name-of-dev-extension]
Nur in Ihrer Entwicklerumgebung.Verwenden Magento-Komponist mit unterschiedlichen
composer.json
Szenarien für verschiedene Umgebungen. Und noch einfacher ist es, diese Erweiterungen als Dev-Modules anzugeben und dann das Projekt mit dem Projekt zu installieren--require-dev
Schalten Sie Ihre Entwicklungsmaschine ein.
Andere Tipps
Diese können normalerweise bequem mit einem Konfigurationsflag deaktiviert werden, sodass sie technisch aktiv sind, aber nichts tun. Wenn Sie diese Flagge auf false in einstellen app/etc/local.xml
Von Ihrem Live -System sollte es Ihnen gut gehen.
Sehen MAGETRASHAPP Das wurde kürzlich beim Magento Hackathon in Berlin geschaffen. Ermöglicht Sie, Module über das Administratorfeld zu aktivieren.
Eine einfache Möglichkeit, dies zu tun, besteht darin, das Modul in /etc /modules zu deaktivieren, es zu drücken, die Datei lokal zu ignorieren und es erneut zu aktivieren.
Ich denke, die beste Möglichkeit, damit umzugehen, besteht darin, alle diese Module in der örtlichen Codepool zu behalten und alle lokalen Module auf dieser Linie in Ihrem lokalen. Xml zu deaktivieren:
<disable_local_modules>true</disable_local_modules>
Oder Sie können "Modulausgabe deaktivieren" im Backend in Ihrer Live -Umgebung. (System -> Konfiguration -> Erweitert). Dies deaktiviert das Modul jedoch nicht vollständig. Aber vielleicht ist es gerade genug davon, dass du dich verstecken willst.
Das einzige andere, was ich mir vorstellen kann, ist, einen Code zu schreiben, der dies ausschöpfen kann. Überprüfen Sie einfach, ob es sich im Entwicklermodus befindet (Mage::getIsDeveloperMode()
) und dann Module deaktivieren. Ich habe hier einige Details gefunden, um dies zu erreichen: https://stackoverflow.com/questions/6520634/magento-how-t-disable-module-programmatic
Normalerweise stecke ich sie einfach in meine Testumgebung, prüfe sie aber nicht im Versionskontrollsystem, beispielsweise mit der Verwendung der .gitignore
Datei, um auszuschließen, von der Begehung in Betracht gezogen zu werden.
Es gibt eine Folie in Imagine 2011 von Erik Hansen. Er gab einen Code in der Folie an, der wie unten ist (für den Entwicklermodus)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
Hier ist Erik, das eine Einstellung ermöglicht, die auf den Subdomains basiert, die Sie selbst anpassen können.