Pim-community-dev: Impossible de renommer app / cache / prod en app / cache / prod ~

Créé le 8 juin 2017  ·  6Commentaires  ·  Source: akeneo/pim-community-dev

Je signale un bug

version: 1.7

Comment reproduire

1) Créer une nouvelle base de données
2) Pointez une instance akeneo active vers une nouvelle base de données en modifiant parameters.yml
3) Exécutez php5.6 app/console cache:clear --env=prod

root<strong i="13">@1530c3ef6368</strong>:/var/www/pim-community-standard# php5.6 app/console cache:clear --env=prod
Clearing the cache for the prod environment with debug false


  [Symfony\Component\Filesystem\Exception\IOException]                                                                 
  Cannot rename "/var/www/pim-community-standard/app/cache/prod" to "/var/www/pim-community-standard/app/cache/pro~".  


cache:clear [--no-warmup] [--no-optional-warmers]

solution de contournement actuelle

faire manuellement le changement de nom

root<strong i="18">@1530c3ef6368</strong>:/var/www/pim-community-standard# mv app/cache/prod app/cache/prod~
root<strong i="19">@1530c3ef6368</strong>:/var/www/pim-community-standard# php5.6 app/console cache:clear --env=prod
Clearing the cache for the prod environment with debug false
root<strong i="20">@1530c3ef6368</strong>:/var/www/pim-community-standard#
question

Commentaire le plus utile

@ damien-carcel, on voit dans la console qu'il s'exécute en root. Je suggérerais simplement de ne pas exécuter les commandes Symfony en tant que root. C'est le meilleur moyen de détruire de nombreuses autorisations.
Pas même de parler de compositeur en tant que root. :clin d'œil:

Tous les 6 commentaires

Bonjour @QwertyZW ,

Je ne peux pas reproduire ce bug.
Utilisez-vous toujours votre image docker? Pouvez-vous vérifier que vous disposez des droits d'écriture sur les répertoires app / cache et app / logs?

Mickaël

Ouais, j'ai toujours l'image

root<strong i="6">@0def23d23eb3</strong>:/var/www/pim-community-standard# php5.6 app/console cache:clear --env=prod
Clearing the cache for the prod environment with debug false


  [Symfony\Component\Filesystem\Exception\IOException]                                                                 
  Cannot rename "/var/www/pim-community-standard/app/cache/prod" to "/var/www/pim-community-standard/app/cache/pro~".  


cache:clear [--no-warmup] [--no-optional-warmers]

root<strong i="7">@0def23d23eb3</strong>:/var/www/pim-community-standard# ls -la app/cache/
total 20
drwxr-xr-x  7 root root 4096 Jun  8 22:49 .
drwxr-xr-x 12 root root 4096 Jun  8 22:48 ..
drwxr-xr-x 12 root root 4096 Jun  8 22:48 dev
drwxr-xr-x 10 root root 4096 Jun  8 22:49 pro_
drwxr-xr-x 66 root root 4096 Jun  8 22:48 prod
root<strong i="8">@0def23d23eb3</strong>:/var/www/pim-community-standard#

Bonjour @QwertyZW.

Ce genre de problème est généralement lié à l'autorisation (rien à voir avec Docker, en fait cela m'arrive déjà sur ma machine locale). Pour que le PIM fonctionne correctement, vous devez utiliser le même utilisateur pour exécuter vos commandes que pour exécuter le serveur Apache.

Je suppose que votre serveur Apache est exécuté par l'utilisateur www-data (l'utilisateur Apache par défaut), mais que vous avez exécuté app/console cache:clear avec un autre utilisateur. Pouvez-vous confirmer (ou non) mon indice?

C'est pourquoi nous vous recommandons de configurer dans notre documentation pour définir votre utilisateur actuel en tant qu'utilisateur Apache. Ceci est bien sûr à des fins de développement et non recommandé pour le serveur de production (car le serveur actuel pourrait avoir trop d'autorisations).

Si vous voulez vraiment vous en tenir à www-data tant qu'utilisateur Apache, assurez-vous simplement d'exécuter vos commandes app/console tant que www-data , et tout ira bien.

Salutations,
Damien

@ damien-carcel, on voit dans la console qu'il s'exécute en root. Je suggérerais simplement de ne pas exécuter les commandes Symfony en tant que root. C'est le meilleur moyen de détruire de nombreuses autorisations.
Pas même de parler de compositeur en tant que root. :clin d'œil:

Salut @QwertyZW

Avez-vous trouvé des réponses à vos questions?
Si tel est le cas, pouvons-nous résoudre ce problème?

Merci!

@jmleroux C'est un conteneur docker, il est normal de s'exécuter en tant que root dans un conteneur.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

ronthedrummer picture ronthedrummer  ·  3Commentaires

ronn0 picture ronn0  ·  4Commentaires

oliverde8 picture oliverde8  ·  3Commentaires

lpxavi picture lpxavi  ·  4Commentaires

gotgelf picture gotgelf  ·  5Commentaires