이 문제에 대한 Q&A가 많이 있습니다.
"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
희망이 도움이 된다