Vielleicht verstehe ich es einfach nicht, aber wenn meine Dateien bereits zwischengespeichert sind, was würde dann ein Pub-Verzeichnis in Magento 2 verwenden? Meine einzige Vermutung wäre, dass die Verwendung des Fallback-Mechanismus durch einen bekannten Satz von Dateien für das Thema etwas erleichtert werden könnte.
Durch das Lesen der Dokumente verstehe ich den Nutzen nicht genau, obwohl ich das Gefühl habe, dynamische, statische und zwischengespeicherte Dateien gut zu verstehen.
Soweit ich weiß, ist der Cache einfach ein definierter bekannter Speicherort von Assets, was mich zu der Vermutung veranlasste, dass das Pub-Verzeichnis ein Mechanismus ist, der den Speicherort der Dateien standardisiert, um die für den Fallback-Mechanismus verwendeten Ressourcen zu reduzieren.
Antworten:
Das Pub-Verzeichnis ist eine Sicherheitsmaßnahme, um den öffentlichen Zugriff auf Ihre Stammverzeichnis-Assets, nämlich das App-Verzeichnis, zu blockieren. Es wird angenommen, dass der Grund, warum sich index.php auch im Stammverzeichnis befindet, Personen anspricht, deren Webhost es schwierig oder unmöglich macht, Ihre Webroot zu ändern.
Bei Verwendung der Datei pub / index.php kann nicht auf den Quellordner der App zugegriffen werden, solange index.php aus dem Stammverzeichnis ausgeführt wurde. Diese Praxis ist auch in Symfony und Zend 2 zu sehen.
Auf diese Weise wird keine der Magento-Anwendungskonfigurationen, -vorlagen usw. verfügbar gemacht.
Im Allgemeinen sind Kenntnisse der Architektur in Bezug auf pub index.php und root index.php für Frontend-Entwickler in einem Team nicht erforderlich, aber das Verständnis der Grundlagen ist gut zu wissen.
quelle
document_root_is_pub = true
in Ihr ,./app/etc/env.php
wenn Ihr Wurzel/pub/
- github.com/magento/magento2/pull/9094Als Randnotiz ist zu beachten, dass die
/index.php
Datei im Entwicklermodus und/pub/index.php
im Produktionsmodus verwendet wirdquelle