我正在Windows环境中开发一个Laravel(5.2.29)项目,并在Chrome浏览器上进行测试。
我使用原子文本编辑器对Blade文件进行了一些更改,然后刷新了我的页面并注意到它突然停止反映更改(它正在加载旧的Blade文件)。
我尝试了以下内容:
php artisan cache:clear
composer dumpautoload
无论如何,浏览器上显示的代码始终是相同的(旧)版本,而不是Blade文件的内容。
我该如何解决这个问题?
答案 0 :(得分:29)
为了避免在每次重新加载时解析Blade文件,Laravel会在处理Blade之后缓存视图。我经历过一些情况,其中源(视图文件)被更新但是缓存文件没有重新加载"。在这些情况下,您需要做的就是删除缓存的视图并重新加载页面。
缓存的视图文件存储在storage/framework/views
。
答案 1 :(得分:25)
从终端
运行此命令php artisan view:clear
答案 2 :(得分:9)
如果您使用PHPStorm,请取消选中Preserve files timestamps
部署选项:
https://stackoverflow.com/a/42534996/2453148
答案 3 :(得分:3)
您还可以检查是否启用了opcache
,在这种情况下,您需要清除opcache缓存。
答案 4 :(得分:2)
清除缓存并清除缓存的刀片文件:
php artisan cache:clear
php artisan config:clear
php artisan view:clear
答案 5 :(得分:2)
或者,如果其他建议的方法不起作用,则可以将文件重命名为其他名称。刷新其相应的网页以开始使用新的文件名引用。然后,您可以在新页面之后将文件重命名为您的首选名称,以反映它们的更改。
答案 6 :(得分:0)
php artisan cache:clear
php artisan route:cache
php artisan config:clear
php artisan view:clear
rm -rf bootstrap/cache/*/*
答案 7 :(得分:0)
在评论中提到了像吉利斯(Can Can Gelis)。对我来说,解决方案是重新加载PHP FPM
service php7.2-fpm reload
答案 8 :(得分:0)
我清除了所有现金和上载的文件夹,但没有看到更改。 因此,如果您将项目放置在公共主机上,但无权访问控制台,请尝试通过您的IDE(例如,例如phpstorm)设置部署并将其设置为自动加载模式。然后,您可以通过更改问题刀片中的某些内容并按cntrl + s(save)快捷方式来使其工作。
答案 9 :(得分:0)
清除缓存对我不起作用,但是我只是编辑了文件并再次保存了它,就可以了!
答案 10 :(得分:0)
这些解决方案都没有为我解决这个问题。尝试了所有 php artisan 选项,但 php 代码没有更新。
我发现的唯一解决方案是重新启动代码在其中运行的 docker 容器。