Magento2 Regenerieren Sie den gesamten statischen Inhalt

10

Ich habe den Ordner pub / static im Entwicklermodus entfernt und erwartet, dass die Dinge wieder so generiert werden, wie sie waren. Danach allerdings nur noch der Ordner

_requirejs

wurde generiert, so dass mir jetzt alles fehlt - alle CSS- und JS-Dateien sind weg. Wie kann ich dieses Problem beheben? Bitte helfen Sie.

Lachezar Raychev
quelle
Ist das pub / static-Verzeichnis vom Webserver beschreibbar?
Peter O'Callaghan
Ja, es kann vom Webserver und vom Magento-Benutzer geschrieben werden. Ich gab ti 777 Berechtigungen nur für den Fall, um absolut sicher zu sein
Lachezar Raychev
drwxrwsrwx 3 ubuntu www-data 4096 17. Februar 17:24 statisch Die Verzeichnisse app / design / adminhtml / Magento und app / design / frontend / Magento sind empy, ich weiß nicht, ob das relevant ist
Lachezar Raychev
Ich kann auch nicht in den Standardmodus zurückkehren
Lachezar Raychev
2
Warum wurde es nicht möglich gemacht, die Standardansicht wiederherzustellen? Vielleicht haben Sie Ihre Meinung geändert und möchten nicht, dass der Produktionsmodus Ihre App bereitstellt
Claudiu Creanga

Antworten:

24

Sie können Ihren statischen Inhalt neu generieren, indem Sie den folgenden Befehl ausführen

php bin/magento setup:static-content:deploy

Dies ist der Befehl, den Sie ausführen würden, bevor Sie ihn im Produktionsmodus bereitstellen. Wenn Sie im Standard- oder Entwicklermodus arbeiten, sollten diese Dateien automatisch für Sie generiert werden. Ich vermute, Sie haben versehentlich einen Ordner entfernt, von dem Magento erwartet, dass er dort ist. Durch Ausführen wird setup:static-content:deploydieser Ordner möglicherweise wiederhergestellt oder es kommt zu einem expliziten Fehler bei den fehlenden Ordnern. Wenn es das spätere ist, sollte der Fehler (hoffentlich!) Genügend Informationen liefern, um die fehlenden Verzeichnisse neu zu erstellen. Möglicherweise möchten Sie den Befehl im ausführlichen Modus ausführen

php bin/magento -vvv setup:static-content:deploy

Dadurch wird der bin/magentoBefehl angewiesen, die tatsächliche Ausnahme auszugeben, wenn ein Fehler auftritt.

Alan Storm
quelle
Ja, das habe ich schon gefunden. gut, dass es jetzt eine markierte Antwort hat. Vielen Dank. und wusste nichts über die -vvv-Sache. das könnte hilfreich sein.
Nochmals vielen
1
Ironisch ... Ich bin auf dieses Problem mit Magento 2.1.2 gestoßen, indem ich die Schritte zum Installieren von Commerce Bug 3 befolgt habe. Von Alan Storm. Diese Antwort löste das Problem.
Gwideman
@gwideman Wenn Sie einen Moment Zeit haben, würde es Ihnen etwas ausmachen, uns die Probleme mitzuteilen, auf die Sie bei der Installation von Commerce Bug 3 gestoßen sind? Wir sind daran interessiert, die Erfahrung so weit wie möglich innerhalb der von Magento Inc. festgelegten
Alan Storm
1
@AlanStorm Problem wahrscheinlich, weil sich die Site (die eine Test-Site ist) im Produktionsmodus befindet. Kurz gesagt, nach der README von Commerce Bug magento setup:upgradelautete die Ergebnismeldung im Schritt "Bitte führen Sie den Magento-Kompilierungsbefehl erneut aus". Ich rannte magento setup:di:compile. Danach funktionierte die Site nicht mehr - keine Bilder oder andere statische Dateien wie js. Grundsätzlich fehlten pub / static / frontend und pub / static / adminhtml. Daher die Notwendigkeit zu rennen setup:static-content:deploy.
Gwideman
Wenn Sie in der Entwicklung sind, fügen Sie -f hinzu, um den Fehler zu erzwingen und zu erhalten
open-ecommerce.org
4

Dies hat dazu geführt, dass Sie beim Entfernen des pub / static-Ordners selbst eine .htaccess-Datei entfernt haben, die zum Wiederherstellen von Inhalten im Produktionsmodus erforderlich ist. Ohne diese Datei werden keine Assets automatisch neu generiert.

Sollte dies jemals wieder vorkommen, können Sie diese Datei von einer anderen Magento 2-Instanz kopieren (wenn Sie ein anderes Setup haben) oder versuchen, die Datei wiederherzustellen, indem Sie den .htaccess von Magentos GitHub kopieren: https://github.com/magento/magento2 /blob/develop/pub/static/.htaccess

Um dies zu verhindern, leeren Sie nur den Inhalt eines Ordners im Verzeichnis pub / static, z. B. Frontend oder adminhtml.

Perry Holden
quelle
3

Sie müssen nur diesen Befehl ausführen, um statischen Inhalt zu generieren:

php bin/magento setup:static-content:deploy

Stellen Sie sicher, dass der Besitzer von Pub Static mit Ihrem Magento-Besitzer identisch ist.

Stellen Sie sicher, dass Sie die erforderliche .htaccess- Datei in Ihrem Ordner haben.

Sourabh Modi
quelle
2

Sie können die folgenden Schritte ausführen: -

1. Delete all folders under pub/static
2. Delete var/cache
3. Delete var/composer_home
4. Delete var/generation
5. Delete var/page_cache
6. Delete var/view_preprocessed

Öffnen Sie nun Ihre Eingabeaufforderung, gehen Sie zu Ihrer Root-Installation von Magento 2 und führen Sie die folgenden Befehle aus

PHP Bin / Magento Setup: Statischer Inhalt: Bereitstellen

Swapna Taru
quelle
2
  1. Entfernen Sie alle Ordner unter pub / static
  2. Entfernen Sie var / cache
  3. Entfernen Sie var / composer_home
  4. Var / Generation entfernen
  5. Entfernen Sie var / page_cache
  6. Entfernen Sie var / view_preprocessed

Gehen Sie danach zur Wurzel von Magento 2 und führen Sie Folgendes aus:

PHP Bin / Magento Setup: Statischer Inhalt: Bereitstellen

Sheshgiri Anvekar
quelle
0

Wenn Sie die .htaccess-Datei entfernt haben, können viele Probleme auftreten. (404 Fehler beim Versuch, auf Ihre CSS + Javascript-Dateien zuzugreifen und so weiter.

Wenn Ihnen dies passiert, ist der beste Weg, dies zu beheben, das erneute Herunterladen des Magento-Zip oder -Tars und das Extrahieren des Ordners pub / static in Ihr Projektverzeichnis. Dies sollte die .htaccess-Datei enthalten und alle Probleme beheben, die Sie haben.

user49531
quelle