lnmp laravel view缓存的问题
项目起初,装lnmp时,https://lnmp.org/ 当时出了点故障,无法方问,所以就百度了另一个一键安装包 https://linuxeye.com/31.html,看文档,似乎更强大了,配置选项更多了,于是就按安装说明一步步装好了,一切都顺利,也正常使用上了。
当项目进度到了线上测试阶段时,发现laravel view缓存好严重,不知道为什么,线上的数据一直不更新,起初以为是微信缓存了,后来发现是laravel view缓存,就一直使用命令清除laravel view缓存,似乎也能解决问题。
php artisan view:clear
但越用越觉得不对劲,controller带到view中的变量,即使controller中变了,view中依然没变,就连dd()中断的代码,删了依然被view缓存。
想着看能不能把laravel view的缓存关闭,结果是无解,框架无法关闭view缓存。
继续找原因,直到找到这样一篇求助帖:
http://wenda.golaravel.com/question/240
这篇求助在我搜“laravel 关闭view缓存”相关问题时百度第一页出现了很多次,看了前几个问题,以乎也解决不了问题,直到后来又详细把这篇求助帖所有回复都看完,看到最后一个回答时
答题者提到以下3点:
1、如果你有使用缓存,但没有手动把数据写入缓存,laravel 不会自动缓存你的数据!
2、header 头缓存的一般都是静态资源,如 js, css, image,不存在你说的缓存时间字符串的情况
3、你肯定开启了服务器端缓存,如 php opcache 之类的
第3点!php opcache,看着有点熟悉,赶忙找出当时按装lnmp一键安装包的文章,看有没有相关的模块安装,果然有!
还是官方推荐的!当时以为什么啥好东西,而且也没有不安装的选项,就按官方推荐安装了opcache,如果是静态页,没啥改动,到确实能提高效率,但页面动起来时,就巨坑!
接下来要做的就简单了,百度一下如何关闭 zend opcache就可以啦
如果你也用的lnmp一键安装包,执行phpinfo(); 找到 opcache 配置文件路径
编辑配置文件,
把所有配置前面加上分号,注释掉
然后重新php、nginx即可!