【问题标题】:Laravel 5.6. A small part of blade file not updated in cache拉拉维尔 5.6。一小部分刀片文件未在缓存中更新
【发布时间】:2020-02-26 12:42:57
【问题描述】:

我的项目中有一个刀片视图文件。

HTML 结构类似于:

<div class="a">
  <div class="b">
  </div>
  <div class="c">
  </div>
<div>

问题是每当我更新类 c 中的任何内容时,都不会呈现更改。

我已清除配置缓存以及查看缓存为:

php 工匠配置:清除 && php 工匠配置:缓存

php artisan view:clear && php artisan view:缓存

这也无济于事。

经过进一步检查,我发现/project_root/storage/framework/views 中的缓存文件仅针对页面的特定部分单独保存,在我的例子中是类为c 的div。

我不知道它最终是如何为页面的一小部分保留一个单独的缓存的。谁能给我一个解决方案。

编辑:我也尝试删除整个缓存文件夹/project_root/storage/framework/views,但徒劳无功。

其他相关信息:

托管服务器:ubuntu 上的 Nginx

nginx.conf 中的 sendfile 选项是 ON。如果这是相关的。

【问题讨论】:

  • 你有什么解决办法吗?
  • @AdamKozlowski 没有亚当。我已经尝试了所有解决方案。

标签: laravel caching view laravel-blade


【解决方案1】:

一些想法:

  • 清除浏览器缓存
  • 检查存储目录的权限(应该是777)
  • 确保您的 css 已编译(如果您使用 webpack、laravel mix 或 gulp 或其他)
  • 检查您的 CSS 是否加载了您的更改
  • 更改 css 文件名(阅读符号 main.css?3.4.1 - 每次在 css 或 js 中进行更改时,它会在“?”之后更改值)

改动后:

<link rel="stylesheet" href="style.css?v=3.4.2">

还有:

<?php $cssVersion = "3.4.2"; ?>

<link rel="stylesheet" href="global.css?v=<?php echo $cssVersion; ?>">

如果您使用 PHP Storm:

  1. 打开菜单文件→设置

  2. 转到部署 → 选项部分

  3. 然后取消选中保留文件时间戳选项

祝你好运!

【讨论】:

  • 我已禁用此站点的缓存。存储目录的权限是 777。我不使用任何 webpack、laravel mix 或 gulp。因为我的更改仅在 Html 中,当我查看页面源时我可以看到 Html。仍然没有修复。
  • 在我写的时候更改css文件的名称
  • 即使我没有对 CSS 进行任何更改?我已经尝试并重命名了刀片文件。
  • 您还尝试手动删除存储在服务器存储中的视图哈希?
  • 看看,我更新了答案——如果你使用 phpstorm 的情况
猜你喜欢
  • 2019-04-24
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
  • 2020-11-02
  • 1970-01-01
  • 2021-07-05
  • 2019-01-01
  • 2023-03-29
相关资源
最近更新 更多