【问题标题】:How to clear cache in Opencart from PHP如何从 PHP 清除 Opencart 中的缓存
【发布时间】:2015-04-16 20:46:09
【问题描述】:

我需要在特定条件下从 PHP 代码中清除缓存。我怎么能这样做。我知道opencart引擎中存在对象缓存,但是如何正确删除缓存。
或者可以只删除文件夹?
请指教。

【问题讨论】:

    标签: php caching opencart server vqmod


    【解决方案1】:

    在 OpenCart 中有 3 个地方存储缓存

    1. 图片缓存位于public_html/image/cache

    2. 如果你有 vQmod public_html/vqmod/vqcache

    3. 系统(数据)缓存public_html/system/cache

    您可以删除这些文件夹中的文件 - 不要删除 cache 文件夹 - 只删除里面的内容。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您需要做的是查看admin 文件夹中的一些模型并检查一些添加/删除方法,即在admin/model/catalog/product.php 中的addProduct() 方法调用:

      $this->cache->delete('product');
      

      其中'product' 是定义要删除的缓存 的键。其他键可能是categorylanguagecurrency 等。

      【讨论】:

      • 您的解决方案失败。例如:您替换主要产品图片,但保留其名称。使用 $this->cache->delete('product') 清除缓存不会影响图像缓存 - 图像仍将使用旧 img 提供。
      • @userlond OP 没有询问浏览器中的图像缓存 BTW。在所有现代浏览器中,按 CTRL + SHIFT + DELETE 将打开一个窗口/页面,您可以在其中删除浏览器缓存 - 但这与 OpenCart 无关(即您的评论完全是 OT)。
      • 只是为了澄清。我用自己的代码更改了产品的图像,但保留了图像的名称(调用 $this->cache->delete('product'))。 OC 2.0 仍然提供来自image/cache 文件夹的旧图像。 IE。清除 image/cache 帮助了我......所以这是你回答的很好的插件。
      • 注意浏览器缓存在某些情况下也很有用
      【解决方案3】:

      它对我有用- 去: 第1步。 在管理仪表板中单击Dashboard,您将在右上角获得gearing icon,然后单击它。你会看到Developer Settings。你会找到CacheAction。因此,在缓存中单击Off 并在操作中单击Refresh Icon。 第2步。 Admin > Extensions > Modifications > 点击右上角的Refresh Icon,然后再次查看。

      【讨论】:

        【解决方案4】:

        您也可以手动或通过 php 脚本清除缓存文件夹文件。

        如果您使用的不是 3.X 版本,则缓存文件夹位于:系统 > 存储 > 缓存

        如果它是 3.X 版本,则进入存储文件夹,无论您将其移动到何处,然后在该文件夹内都有一个缓存文件夹。

        清除缓存文件夹数据并重新加载您的商店页面。这个解决方案对我有用。感谢您提出这个问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-12-20
          • 2010-11-05
          • 2023-03-25
          • 1970-01-01
          相关资源
          最近更新 更多