2 votes

Problèmes de permission pour le cache artisanal de Laravel

J'utilise le système de mise en cache des fichiers de Laravel (du moins temporairement) pour mettre en cache de nombreux petits objets, principalement statiques, à partir de la base de données. Cependant, si j'utilise Artisan pour exécuter certaines fonctions (qui ajoutent/appellent à partir du cache) et que j'essaie ensuite de charger une page Web, j'obtiens des erreurs de permission en essayant d'accéder au cache. Même erreur dans l'autre sens (affichage de la page Web, puis exécution de Artisan).

Cela est dû au fait que le cache m'appartient lorsque j'exécute une commande artisanale, mais qu'il appartient à Apache lorsqu'il est exécuté via la page Web.

J'ai pensé à 2 solutions. La première consiste à supprimer tout le cache au début et à la fin de tous les appels artisanaux (ce qui n'est pas idéal, car on perd la plupart des gains de performance). Ou, exécuter toutes mes commandes artisanales en tant qu'utilisateur apache (pas pratique, et peut-être même pas possible).

Existe-t-il un moyen de modifier automatiquement les permissions de la mise en cache des fichiers de Laravel ? Ou de configurer la mise en cache d'Artisan pour qu'elle utilise l'utilisateur Apache ?

1voto

John Veldboom Points 53

Ce n'est pas la solution la plus élégante, mais j'ai fini par supprimer la mise en cache de mes commandes artisanales. Il ne s'agissait que de tâches d'arrière-plan qui n'avaient pas besoin de la même augmentation de vitesse que le front-end.

0voto

Neo Ighodaro Points 809

Vous pouvez essayer de chmod le dossier de stockage à 0777. Vous pouvez le faire en utilisant votre ligne de commande.

$ chmod --help

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X