解决 TP3 框架 引入 Log.class.php 文件报错方法

朋友的这个问题真的很无语,可能会出现在使用 SVN 的情况下,使用 Git 进行团队开发忽略以后是不会出现这种问题的

先来说一下这个类文件,日志的处理工作是由系统自动进行的,在开启日志记录的情况下,会记录下允许的日志级别的所有日志信息

其中,为了性能考虑,SQL日志级别必须在调试模式开启下有效,否则就不会记录。

系统的日志记录由核心的 Think\Log 类及其驱动完成,提供了多种方式记录了不同的级别的日志信息

而且的记录方式默认是文件方式,也就记录在我们经常看到的 runtime 文件夹中

由于日志记录了所有的运行错误,因此养成经常查看日志文件的习惯,可以避免和及早发现很多的错误隐患

但是在团队开发中这个缓存为影响其他人,造成无法打开项目等情况,使用 SVN 会提交这个文件,可以手动去不提交它

SVN 的忽略文件没了解过,可以百度一下:SVN 怎么设置忽略文件

Git 可以使用忽略文件,将这个目录忽略掉,不提交它,新建一个.gitignore文件,加入这个目录,提交即可

具体忽略操作可以看之前的文章:Git提交时使用.gitignore文件忽略特殊文件

报错类似如下:

Warning: include(D:\phpStudy\WWW\test\ThinkPHP\Library/Think/Log.class.php): failed to open stream: No such file or directory
Warning: include(): Failed opening 'D:\phpStudy\WWW\test\ThinkPHP\Library/Think/Log.class.php' for inclusion (include_path='.;C:\php\PEAR')
Fatal error: Class 'Think\Log' not found in D:\phpStudy\WWW\test\ThinkPHP\Library\Think\Think.class.php on line 335

上面报错的原因就是这个 runtime 文件夹,解决方式也就是直接删掉这个文件夹即可,清除 runtime 下的缓存,注意各个目录下的 runtime

具体原因是别人在他的环境上运行过,会生成缓存,你使用 SVN、Git 或者拷贝的时候,直接把缓存也给复制过来了,所以执行的时候执行的是缓存,就会出现自己本地没有这个路径什么的

清除之后,重新访问项目,就可以正常访问了~

发表评论

发表评论

*

沙发空缺中,还不快抢~