일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- nginx
- Python
- pagination
- miniconda
- CSS
- 회고
- nodejs
- polygon
- 배포
- React
- jquery
- Laravel
- PM2
- chatGPT
- metamask
- node
- 라라벨
- 블록체인
- nft
- exceljs
- Kaikas
- Setting
- NextJS
- threejs
- 발행
- Remix
- Ai
- 공연티켓
- netfunnel
- git
- Today
- Total
박주니 개발 정리
laravel storage/log 생성시 cors 이슈 해결 방법 본문
설명 전)
처음에는 정상적으로 운영이 되다가 갑자기 front에서 cors 에러가 발생되었다면 먼저 디버깅을 해보고 원인이 확인이 안되신다면 laravel storage/log 권한 문제 확률이 높습니다.
1. storage 소유자와 권한을 확인합니다.
설명)
이건 예시이고 현재 laravel 권한자가 누구인지 확인하고 현재 storage 소유자와 동일한지 확인하시면 됩니다.
그리고 좌측에 권한을 확인해서 rwx 즉 읽기, 쓰기, 실행권한이 다 있는지 확인합니다.
읽기 권한만 있으면 cors 에러가 발생될 수 있습니다.
2-1. 소유권이 동일하지 않을 경우
- 소유권 변경 방법
sudo chown -R vagrant:vagrant ~/code/crypto-admin-backend/storage
설명)
여기서 vagrant 부분은 현재 소유권 name으로 변경하시고 위치는 현재 storage 위치를 넣으시면 됩니다.
2-2. 권한이 제한되어있을경우
- storage/log는 상황에 따라 다르겠지만 log를 주로 확인하는 목적으로 사용하신다면 개방적인 권한 설정을 한 것인데 우선 이해를 돕는 과정이니 추후에 권한을 변경해서 맞추시길 바랍니다.
sudo chmod -R 777 vagrant:vagrant ~/code/crypto-admin-backend/storage
3. config 기록이 남아있어서 변경된 것에 영향을 줄 수 있으므로 clear을 진행합니다.
php artisan config clear
4. config/logging.php custom 추가해서 RotatingFileHandler를 사용하여 로그 파일 관리하고 permission 옵션을 통해 파일 권한을 설정합니다.
'channels' => [
'stack' => [
'driver' => 'stack',
// 다른 채널 추가...
],
'custom' => [
'driver' => 'monolog',
'handler' => Monolog\Handler\RotatingFileHandler::class,
'with' => [
'filename' => storage_path('logs/laravel.log'),
'maxFiles' => 5,
'level' => Monolog\Logger::DEBUG,
'permission' => 0644,
],
],
// 다른 채널 설정...
],
설명)
Monolog는 composer 셋팅시 기본적으로 라이브러리가 셋팅이 됩니다. composer.json에 확인해보시면 "require":{ "monolog/monolog": ...} 설정된 것을 확인하실 수 있습니다.
5. 현재 문제가 발생되었던 log를 지우시고 다시 생성할 때 적용한대로 소유자 및 권한이 적용되어 있는지 cors에러가 발생되는 지 확인하시면 됩니다.