Laravel和在开发中查看缓存 - 无法立即看到更改

Set*_*hen 20 php caching laravel laravel-4

我和一些朋友决定开始研究一个项目,我们遇到了Laravel并认为它可能是一个很好的工具.我们开始在本地使用它来开发我们的一些页面并注意到一些奇怪的东西.

当我们使用不同的信息更新视图时,在视图信息发生变化之前大约需要5到10分钟.这就像Laravel正在缓存视图并在其上放置一个TTL.

我知道这不是我在本地Web服务器上做的任何事情,因为我使用过其他框架而且我从未遇到过这个问题.

在搜索互联网时,我找不到如何禁用它的好答案.我想使用Laravel,但是如果每次想要进行更改时我的视图需要一段时间才能更新,那么它会变得毫无价值.事实上,这听起来适得其反.

有没有办法禁用它?为什么我的观点需要永远更新,开箱即用?

Set*_*hen 26

#laravel IRC频道是神派.这与Laravel的行为毫无关系.这实际上是PHP 5.5正在做的事情.

这是如此令人困惑的原因是因为我将我的PHP版本从5.3升级而且从未遇到过这个问题.

在.ini文件中,您需要调整OPcache设置.对我来说,这些设置从.ini文件中的第1087行开始,看起来像这样:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
Run Code Online (Sandbox Code Playgroud)

特别注意opcache.revalidate_freq=60.这实际上是使您的视图缓存.如果这不是所需的行为,请将值设置为,0并且每次进行更改时视图都会更新.好极了!

编辑2014年8月21日

如下面的Matt所述,请确保重新启动Web服务器,以便在更改.ini文件后更改生效.

  • 对某些人来说可能是显而易见的,但请确保重新启动您的网络服务器(即apache或您正在使用的任何内容).或者,否则更改不会生效. (4认同)
  • 知道为什么会在PHP 5.4上发生这种情况吗?我没有看到opcache的设置. (3认同)