J'ai eu l'erreur suivante en entrant mon site sur un serveur de production:
Impossible d'ouvrir le flux ou le fichier "/var/app/current/storage/logs/laravel-2019-11-22.log": impossible d'ouvrir le flux: autorisation refusée
J'ai essayé d'exécuter les commandes suivantes et j'ai obtenu des autorisations refusées dans le terminal:
php artisan cache:clear
php artisan config:clear
php artisan config:cache
php artisan optimize:clear
L'Iran chmod -R 775 storage/logs/
et composer dump-autoload
et j'ai pu accéder à la page d'accueil de mon site sans aucune erreur. Après avoir surfé un peu plus sur le site, j'obtenais la même erreur dans divers domaines et pas dans d'autres:
Encore la même erreur
Impossible d'ouvrir le flux ou le fichier "/var/app/current/storage/logs/laravel-2019-11-22.log": impossible d'ouvrir le flux: autorisation refusée
J'ai supprimé les fichiers suivants et j'ai exécuté php artisan cahce:clear
:
/bootstrap/cache/packages.php
/bootstrap/cache/services.php
/bootstrap/cache/config.php.php
Le seul autre conseil que j'ai vu est exécuté:
Sudo chmod -R 777 storage/*
Ce qui semble être une mauvaise idée sur un serveur de production, mais semble être une réponse surévaluée. Dois-je simplement donner des autorisations à mon directeur de stockage 777 et pourquoi? Y a-t-il une autre façon de résoudre ce problème?
Modifier:
J'essaie de faire cela comme indiqué ici:
// set current user as owner and the webserver user as the group
Sudo chown -R $USER:www-data storage
Sudo chown -R $USER:www-data bootstrap/cache
// set directory permission to be 775
chmod -R 775 storage
chmod -R 775 bootstrap/cache
mais quand je lance Sudo chown -R $USER:www-data storage
J'obtiens cette erreur:
chown: groupe non valide: "mon nom d’utilisateur: www-data"
si vous avez fait ce "stockage Sudo chmod -R 777" et toujours la même erreur, vous pouvez aller dans le starage/log et supprimer tous les fichiers .log manuellement.
j'ai eu le même problème alors j'ai essayé de cette façon. alors ça a marché. mais ce n'est pas une solution permanente. si cette méthode a fonctionné pour vous, vous pouvez utiliser cron job pour supprimer automatiquement tous les journaux.