Laravel中log无法写入问题的解决

yipeiwu_com6年前PHP代码库

前言

账号登录报500错误,也没有返回错误信息,没办法只能使用原始方法,到现在一行一行打印。到 Log::info() 后面就无法正常显示了,那么问题就找到了。

导致无法写入日志的问题,是由于代码更新时添加了文件是 root 用户,所以创建日志文件也是 root 权限,导致其它用户的 www 权限无法写入日志文件中。

所以修改 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

最近在使用 Zizaco\Entrust 这个权限包…

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

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

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

把.env 里的 CACHE_DRIVER 改成 CACHE_DRIVER=array

问题2

页面出现此错误

View [.] not found.

解决办法,优化,清除配置缓存,路由缓存

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

总结

以上就是这文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对【宜配屋www.yipeiwu.com】的支持。

相关文章

PHP中散列密码的安全性分析

本文实例讲述了PHP中散列密码的安全性。分享给大家供大家参考,具体如下: php的基本哈希函数已经不再安全? php手册中有专门的一个部分来介绍这个问题 http://php.net/m...

解析二进制流接口应用实例 pack、unpack、ord 函数使用方法

在工作中,我也逐渐了解到pack,unpack,ord对于二进制字节处理的强大。 下面我逐一介绍它们。在我们工作中,用到它们的估计不多。 我在最近一个工作中,因为通讯需要用到二进制流,然...

PHP生成条形码大揭秘

PHP生成条形码大揭秘

1.什么是条形码? 百度百科定义:条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条...

PHP生成验证码时“图像因其本身有错无法显示”的解决方法

今天使用代码进行PHP生成校验码功能的实现,发现firefox一直提示“图像.......因其本身有错无法显示”的问题,作者也提示了说“如果浏览器显示“图像XXX因其本身有错无法显示”,...

DISCUZ 论坛管理员密码忘记的解决方法

DISCUZ论坛管理员密码忘记了怎么办? 今天,一个朋友在QQ上问我,“如果DISCUZ论坛管理员密码忘记了 从MYSQL 哪里找啊?”, 他用的是HostMonster的虚拟主机。 y...