thinkphp的Runtime/Logs目录下产生大量log文件的解决办法
最近,搭建了一个免费看小说的网站,2D小说网。http://www.2dxs.cn
在某宝购买的虚拟主机,只花了3块钱,于是在半年以前购买的域名,已经过去了半年多了,浪费了很多的时间,由于之前使用的是三丰云的免费主机,一开始是用他们的免费服务器,每个星期都要给他写一篇推广文章到各大论坛或博客,导致天涯论坛账号被封,并且每个星期都写不一样的文章内容才行,感觉很蛋疼。虚拟主机,每个月写一篇,审核通过后可以继续用一个月。但是虚拟主机很不稳定,访问速度超级慢有时候。
也是由于不想折腾,不想花太多精力去哪个论坛发推广文章,甚至有时候发不了文章还审核不通过,半年之后,在某宝买了一个虚拟主机搭建了这个免费看小说的网站。2D小说网。
今天,重点不是这些,重点是在搭建2D小说网的过程中,遇到的问题。thinkphp的Runtime/Logs目录下产生大量log文件怎么解决?因为我的小说网使用的是thinkphp程序,可以自动更新最新的小说章节。并且保证自动更新,在用户访问小说之后,就会自动生成log文件,有时候一天下来就生成了三百多个log文件,甚至用户访问量大的时候,直接一个小时就把1G的空间给填满了。生成log文件速度那么快,尽管你有多大空间都会有填满的时候,这怎么办呢?
两个方法:一个就是生成自动删除log文件的程序,设置定时启动程序删除log文件。但是这个方法需要具备命令权限,而我使用的是虚拟主机,并且是windows系统,没有命令权限,问了主机商,说只有linux系统的才有,就连SSL功能都没有。在各大论坛,站长QQ群去问了大神,都没有人回答怎么解决这个问题。
第二个方法,就是直接阻止生成log文件,我不需要生成log文件,这样的方法更加简单,更加好,不用每天想着手动删除或者想着今天有没有自动删除。我就经历了一个星期每天就想着开电脑登录主机删除log文件。挺烦的。
于是,开始各种搜索,百度、360、搜狗搜索,寻找答案,终于,在新浪,找到了答案。
Thinkphp5.0生成日志log文件占服务器空间太多,需要取消生成日志的办法。
找到:dubug.php文件,首先将这个文件备份好,以免出错。
直接使用编辑软件打开,FTP可以直接点击编辑。我使用的是8uftp,很多人都推荐怎么不用flashfxp什么的,因为我觉得他简单粗暴好用,可以直接打开编辑。
文件路径:ThinkPHP/Conf/debug.php
修改以下文件:
/**
* ThinkPHP 默认的调试模式配置文件
*/
defined('THINK_PATH') or exit();
// 调试模式下面默认设置 可以在应用配置目录下重新定义 debug.php 覆盖
return array(
'LOG_RECORD' => true, // 进行日志记录
'LOG_EXCEPTION_RECORD' => false, // 是否记录异常信息日志
'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL', // 允许记录的日志级别
'DB_FIELDS_CACHE' => false, // 字段缓存信息
'DB_DEBUG'=> true, // 开启调试模式 记录SQL日志
'TMPL_CACHE_ON' => false, // 是否开启模板编译缓存,设为false则每次都会重新编译
'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格与换行
'SHOW_ERROR_MSG' => true, // 显示错误信息
'URL_CASE_INSENSITIVE' => false, // URL区分大小写
);
把 'LOG_RECORD' => true, // 进行日志记录
中的true改为:false。保存更新,就可以解决问题了。
全部代码:
return array(
'LOG_RECORD' => false, // 进行日志记录
'LOG_EXCEPTION_RECORD' => true, // 是否记录异常信息日志
'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL', // 允许记录的日志级别
'DB_FIELDS_CACHE' => false, // 字段缓存信息
'DB_DEBUG'=> true, // 开启调试模式 记录SQL日志
'TMPL_CACHE_ON' => false, // 是否开启模板编译缓存,设为false则每次都会重新编译
'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格与换行
'SHOW_ERROR_MSG' => true, // 显示错误信息
'URL_CASE_INSENSITIVE' => false, // URL区分大小写
第二步
/index.php
define('APP_DEBUG',false); // 关闭调试模式就不会记录日志
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
很好