Magento2 Régénère le contenu statique complet

10

J'ai supprimé le dossier pub / static en mode développeur, en m'attendant à ce que les choses reviennent à la façon dont elles étaient. Après cela, seul le dossier

_requirejs

a été généré, alors maintenant je manque tout - tous les fichiers css et js ont disparu. Comment puis-je résoudre ce problème? S'il vous plaît, aidez.

Lachezar Raychev
la source
Le répertoire pub / statique est-il accessible en écriture par le serveur Web?
Peter O'Callaghan
oui, il est accessible en écriture par le serveur web et l'utilisateur magento. j'ai donné des autorisations au ti 777 juste au cas où, pour être absolument sûr
Lachezar Raychev
drwxrwsrwx 3 ubuntu www-data 4096 17 fév 17 17:24 statique les répertoires app / design / adminhtml / Magento et app / design / frontend / Magento sont empy, je ne sais pas si cela est pertinent
Lachezar Raychev
Je ne peux pas revenir au mode par défaut également
Lachezar Raychev
2
pourquoi ont-ils empêché de revenir à la vue par défaut? peut-être que vous avez changé d'avis et que vous ne voulez pas que le mode de production déploie votre application
Claudiu Creanga

Réponses:

24

Vous pouvez régénérer votre contenu statique en exécutant la commande suivante

php bin/magento setup:static-content:deploy

Il s'agit de la commande à exécuter avant de déployer en mode production. Si vous exécutez en mode par défaut ou en mode développeur, ces fichiers devraient être générés automatiquement pour vous. Je suppose que vous avez accidentellement supprimé un dossier auquel Magento s'attend d'être présent - l'exécution setup:static-content:deploypeut restaurer ce dossier ou entraîner une erreur explicite sur les dossiers manquants. Si c'est la dernière, l'erreur devrait (espérons-le!) Fournir suffisamment d'informations pour reconstruire les répertoires manquants. Vous voudrez peut-être exécuter la commande en mode détaillé

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

Cela indiquera à la bin/magentocommande de générer l'exception réelle en cas d'erreur.

Alan Storm
la source
oui, je l'ai déjà trouvé. bon qu'il a une réponse marquée maintenant. Merci. et ne savait pas la chose -vvv. cela pourrait être utile. merci encore une fois
Lachezar Raychev
1
Ironique ... J'ai rencontré ce problème avec Magento 2.1.2, en suivant les étapes pour installer Commerce Bug 3. De Alan Storm. Cette réponse a cependant résolu le problème.
gwideman
@gwideman Si vous avez un moment, pourriez-vous nous faire part des problèmes que vous avez rencontrés lors de l'installation de Commerce Bug 3? Nous sommes intéressés à améliorer l'expérience autant que possible dans les limites définies
Alan Storm
1
@AlanStorm Problème probablement dû au fait que le site (qui est un site de test) est en mode production. En bref, après le README de Commerce Bug, à l' magento setup:upgradeétape, le message de résultat était "Veuillez réexécuter la commande de compilation Magento". J'ai couru magento setup:di:compile. Après cela, le site n'a pas fonctionné - pas d'images ou d'autres fichiers statiques comme js. Fondamentalement, pub / static / frontend et pub / static / adminhtml étaient manquants. D'où la nécessité de courir setup:static-content:deploy.
gwideman
Si vous êtes en développement, ajoutez -f pour forcer et obtenir l'erreur
open-ecommerce.org
5

Cela a provoqué le fait que lorsque vous avez supprimé le dossier pub / statique lui-même, vous avez supprimé un fichier .htaccess qui est nécessaire pour régénérer le contenu en mode production. Sans ce fichier, aucun actif ne sera automatiquement régénéré.

Si cela se reproduit, vous pouvez copier ce fichier à partir d'une autre instance de Magento 2 (si vous en avez une autre) ou essayer de restaurer le fichier en copiant le .htaccess depuis le GitHub de Magento: https://github.com/magento/magento2 /blob/develop/pub/static/.htaccess

Pour éviter cela, ne videz que le contenu d'un dossier sous le répertoire pub / static, tel que frontend ou adminhtml.

Perry Holden
la source
3

Vous pouvez suivre les étapes ci-dessous: -

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

Maintenant, ouvrez votre invite de commande et accédez à votre installation racine de magento 2 et exécutez les commandes suivantes

configuration de php bin / magento: contenu statique: déployer

Swapna Taru
la source
3

Vous avez juste besoin d'exécuter cette commande pour générer du contenu statique:

php bin/magento setup:static-content:deploy

Assurez-vous que le propriétaire de la publication statique est le même que votre propriétaire Magento.

Assurez-vous d'avoir le fichier .htaccess requis dans votre dossier.

Sourabh Modi
la source
3
  1. Supprimer tous les dossiers sous pub/static
  2. Retirer var/cache
  3. Retirer var/composer_home
  4. Retirer var/generation
  5. Retirer var/page_cache
  6. Retirer var/view_preprocessed

Après cela, allez à la racine de magento 2 et exécutez:

php bin/magento setup:static-content:deploy
Sheshgiri Anvekar
la source
0

Si vous supprimez le fichier .htaccess, vous pourriez avoir beaucoup de problèmes. (obtenir des erreurs 404 lorsque vous essayez d'accéder à vos fichiers css + javascript et ainsi de suite.

Si cela vous arrive, la meilleure façon de résoudre ce problème est de télécharger à nouveau le zip ou le tar magento et d'extraire le dossier pub / static dans le répertoire de votre projet. Cela devrait inclure le fichier .htaccess et résoudre tout problème que vous rencontrez.

user49531
la source