По этой проблеме есть много вопросов и ответов:
"storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
Решение, правильное, — установить правильные разрешения для владельцев прав и групп. Так я и сделал:
Группа Nginx выглядит nginx
так, как nginx -V
показано на выходе:
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: ... --user=nginx --group=nginx ...
Группа моих файлов и каталогов установлена следующим образом nginx
:
sudo chown -R $USER:nginx /path/to/project
Я установил 755 для каталогов и 644 для файлов:
sudo find /path/to/project -type f -exec chmod 664 {} \;
sudo find /path/to/project -type d -exec chmod 775 {} \;
Затем я установил 775 для storage
:
sudo chmod -R 775 storage
Итак, я подтверждаю, что storage/logs/laravel.log
разрешения есть 775
или -rwxrwxr-x
.
Но я все еще получаю ошибку отказа в доступе к этому файлу. Я пытался сменить владельца на nginx
также, но безуспешно, и также я selinux
полностью отключил.
Какие-либо предложения?
(Или вместо этого стоило разместить его на stackoverflow.com?)
решение1
Я исправляю свою ошибку с помощью этой строки:
chown -R www-data:www-data storage
Надежда помогает