微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

laravel项目日志文件迁移

laravel项目的日志文件迁移

一个使用laravel的项目,因为使用量较大,服务器上的日志文件很大,且很占内存,所以决定将日志文件的存储位置迁移到其他的文件夹。

首先我看了laravel的文档后,去查看了config文件夹里的logging.PHP文件

在这里插入图片描述

如图所示,我在上方的渠道里看到渠道只有daily这个,于是我就修改了daily的path选项,改成了我自定义一个路径测试了下,发现日志确实存储到新的目录下了。但还发现了个新问题,就是新目录下只存储了项目的错误日志,而没有真正大量占内存的数据库查询日志,为此我又去查询了下资料,发现logging这边的配置只处理错误日志,而没有MysqL查询日志。
MysqL查询日志的位置在app/providers文件夹下的AppServiceProviders.PHP中,在此处监听数据库添加数据库查询日志。我把此处的日志存放路径修改后,数据库查询日志也迁移到了新的目录下。

但是,在修改提交到服务器上后,报了这个错误

在这里插入图片描述


这种情况是open_basedir限制了PHP可以操作的文件目录,可以在配置文件修改open_basedir信息,加上想要操作的路径或者直接注释掉这行。

查了下资料,说是open_basedir可以在 PHP.ini 里配置;也可以在 Apache 配置的 VirtualHost 或者 Direcotry 里设置;或者修改Nginx配置文件 fastcgi.conf里的PHP_ADMIN_VALUE open_basedir;
修改完后重启Apache或者Nginx就可以生效。

但是我看了下服务器上用的是Nginx,但配置文件里没找到open_basedir信息,于是我又去查了下,发现是因为宝塔面板的原因,修改open_basedir是要下项目目录下的.user.ini的隐藏文件修改,(或者也可以去掉网站目录下的勾选,防跨站攻击(open_basedir),然后重启PHP服务,但个人感觉不推荐)
在user.ini文件的open_basedir信息后面追加 “:/XXXXX/” ,xxxx是操作路径

在这里插入图片描述


然后发现报了另一个错误,这个报错就很明显了,大概率是日志存储路径文件夹权限的问题,我去修改了下文件夹的权限,发现日志迁移成功了。

原文地址:https://www.jb51.cc/wenti/3284987.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐