>  기사  >  백엔드 개발  >  Laravel에서 로그를 작성할 수 없는 문제를 해결하는 방법

Laravel에서 로그를 작성할 수 없는 문제를 해결하는 방법

小云云
小云云원래의
2018-02-12 14:20:471781검색

계정 로그인시 500에러가 보고되었고, 오류메세지가 나오지 않아서 원래 방법을 사용할 수밖에 없었고, 지금은 한줄씩 인쇄중입니다. Log::info() 에 도달한 후 정상적으로 표시되지 않으면 문제가 발견되었습니다.  Log::info() 后面就无法正常显示了,那么问题就找到了。

导致无法写入日志的问题,是由于代码更新时添加了文件是 root 用户,所以创建日志文件也是 root 权限,导致其它用户的 www 权限无法写入日志文件中。本文主要和大家介绍了Laravel中log无法写入问题的解决,文中给出了详细解决方法供大家参考学习,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧。

所以修改 storage/logs/ 的用户权限为 www


chown www:www storage/logs -R

注意:如果用户使用supervisord服务运行队列的话,如果队列里有日志记录,那么运行的用户也需要改成 www 用户。

问题2

同样是日志无法记录问题,这里是本地环境使用 php artisan queue:work --sleep=3 --tries=3 运行。

同样在 job 中写日志,权限也是正确,就是无法记录日志,任务也正常执行。

最后想到重启队列解决此问题,不知道是什么原因导致。如果有知道的同学请告知一声。

重启队列命令


php artisan queue:restart

其它与日志无关的问题

问题1

最近在使用 ZizacoEntrust 这个权限包…

再添加角色的时候… 报了一个错..


BadMethodCallException in Repository.php line 391:
This cache store does not support tagging.

应该是这个包里 有个地方用了 laravel 的cache,默认的cache是file

把.env 里的 CACHE_DRIVER 改成 CACHE_DRIVER=array

로그를 작성할 수 없는 문제는 코드 업데이트 시 추가된 파일이 루트 사용자이기 때문에 로그 파일을 생성하는 것도 루트 권한을 가지게 되어 다른 사용자의 www 권한이 해당 파일에 쓸 수 없기 때문입니다. 로그 파일. 이 글은 주로 라라벨에서 로그를 작성할 수 없는 문제에 대한 해결책을 소개합니다. 이 글은 여러분의 참고와 연구를 위한 구체적인 해결책을 제공합니다. 필요한 분들은 아래에서 살펴보세요.

그러므로 저장소/로그/의 사용자 권한을 www

View [.] not found.

참고:

사용자가 감독자 서비스를 사용하여 대기열을 실행하는 경우 , 큐에 로그 기록이 있는 경우 실행 중인 사용자도 www 사용자로 변경해야 합니다.

문제 2


로그를 기록할 수 없다는 것도 같은 문제입니다. php artisan queue:work를 사용하는 로컬 환경입니다. -sleep=3 - -tries=3 실행합니다.

마찬가지로 작업에 로그를 작성하면 권한은 올바르지만 로그를 기록할 수 없으며 작업은 정상적으로 실행됩니다.

결국 이 문제를 해결하기 위해 대기열을 다시 시작하려고 생각했습니다. 원인이 무엇인지 모르겠습니다. 혹시 아시는 학생 있으시면 알려주세요.

Restart queue 명령

php artisan optimize --force
php artisan config:cache
php artisan route:cache

로그와 관련되지 않은 기타 문제

🎜질문 1🎜🎜🎜🎜최근에 ZizacoEntrust 권한 패키지를 사용했습니다...🎜🎜역할을 추가했을 때...신고했습니다 오류...🎜 🎜🎜🎜rrreee🎜이 패키지에는 laravel의 캐시를 사용하는 곳이 있어야 합니다. 기본 캐시는 file🎜🎜.env의 CACHE_DRIVERCACHE_DRIVER로 변경하세요. =array🎜🎜🎜문제 2🎜🎜🎜🎜이 오류는 페이지에 나타납니다🎜🎜🎜🎜rrreee🎜솔루션, 최적화, 구성 캐시 지우기, 캐시 경로 지정🎜🎜🎜🎜rrreee🎜관련 권장 사항: 🎜🎜🎜 🎜 Laravel은 PHPQRCODE를 사용하여 LOGO🎜🎜🎜🎜php 사용자 정의 함수가 로그를 기록하는 QR 코드 그림을 생성합니다🎜🎜🎜🎜php 사용자 정의 함수가 로그를 기록하는 방법에 대한 사례🎜🎜

위 내용은 Laravel에서 로그를 작성할 수 없는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.