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是操作路径

在这里插入图片描述


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

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...