Salut, c'est Takafumi.
Lorsque le développement du système dans lequel je suis actuellement impliqué était terminé, j'ai pensé: "Je suis sur le point de préparer l'environnement de test" et j'ai essayé d'exécuter la commande php aritisan migrate
pour créer une table.
Operation not permitted
"Je ne peux pas migrer!"
L'article d'aujourd'hui résout le problème de l'impossibilité de migrer dans un environnement intermédiaire préparé à l'aide d'EC2 d'AWS!
Devenez l'utilisateur propriétaire et donnez l'autorisation d'écriture au groupe propriétaire
UnexpectedValueException : The stream or file "/var/www/mcfhfs/storage/logs/laravel-2019-11-20.log" could not be opened: failed to open stream: Permission denied
at /var/www/mcfhfs/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:111
107| restore_error_handler();
108| if (!is_resource($this->stream)) {
109| $this->stream = null;
110|
> 111| throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened: '.$this->errorMessage, $this->url));
112| }
113| }
114|
115| if ($this->useLocking) {
Exception trace:
1 Monolog\Handler\StreamHandler::write()
/var/www/mcfhfs/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php:120
2 Monolog\Handler\RotatingFileHandler::write()
/var/www/mcfhfs/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:42
Please use the argument -v to see more details.
En regardant le message d'erreur, il dit "Vous n'avez pas l'autorisation d'écriture sur le fichier journal." Apparemment, vous n'avez pas l'autorisation d'écriture sur le fichier journal.
Quand j'ai vérifié les permissions avec ls -la
, c'était rw ---- r ---- r --
.
Dans ce cas, il s'agit de "propriétaire utilisateur (lecture / écriture) - groupe propriétaire (lecture) - autre utilisateur (lecture)". Je ne suis pas l'utilisateur propriétaire, j'appartiens au groupe propriétaire, donc je n'ai que l'autorisation de lecture.
"Alors, pourquoi ne pas ajouter l'autorisation d'écriture (w) aux autorisations du groupe propriétaire?"
Alors lancez chmod 664 laravel-2019-11-20.log
.
En conséquence, «Opération non autorisée» a été affiché.
Après examen, il semble que les autorisations de fichier ne peuvent être modifiées que par le propriétaire du fichier. (Référence: https://marunouchi-tech.i-studio.co.jp/3341)
"Alors, pourquoi ne deviens-je pas le propriétaire du fichier?"
Supprimez le fichier journal correspondant et créez-le à nouveau. Après avoir confirmé que le propriétaire du fichier est vous-même, exécutez à nouveau la migration.
php artisan migrate:fresh
Dropped all tables successfully.
Migration table created successfully.
"Succès!"
Je pensais que c'était la solution, et lorsque j'ai essayé d'afficher la page en me connectant à l'environnement de test à partir du navigateur, le message «Vous n'avez pas l'autorisation d'écriture pour le fichier journal» était à nouveau affiché. Apparemment, il est nécessaire de donner l'autorisation d'écriture du serveur Web.
chmod 664 laravel-2019-11-20.log
ls -la
-rw-rw-r--
Maintenant que l'utilisateur propriétaire et le groupe propriétaire ont l'autorisation d'écriture, accédez à nouveau au site. Il a été affiché en toute sécurité!
-Les autorisations ne peuvent être modifiées que par le propriétaire du fichier. ・ N'oubliez pas d'accorder l'autorisation d'écriture du serveur Web! -Vérifiez les autorisations lorsque "Opération non autorisée" ou "Permission refusée"!
Je n'ai jamais eu d'erreur avec les autorisations, donc je suis content d'avoir appris cela. Il est sûr d'obtenir l'autorisation refusée avec cela. Eh bien!
Recommended Posts