【问题标题】:Symfony completely ignores all the changes I make to codeSymfony 完全忽略了我对代码所做的所有更改
【发布时间】:2023-04-09 18:12:01
【问题描述】:

我试过按 ctrl + r, ctrl f5。在其他浏览器上清除 Cashe 启动应用程序。我想做的就是开始工作和学习。 enter image description here

我在 app/recources/views/default/index.html.twag 所做的任何事情都被完全忽略了,我什至尝试删除这个文件的全部内容,而不是重新启动电脑,它仍然显示为默认视图。对控制器所做的任何更改也会被忽略。当我完全删除 index.html.twag 文件时,他终于开始注意到我。当我将它归还时(顺便说一下完全是空的),他再次向我展示了他的默认视图!!!。请帮忙,有什么好办法吗?

【问题讨论】:

  • 您可能正在编辑错误的文件。可能有多个安装或源文件位置?
  • wamp64/www文件夹下安装了一个symfony文件,只有一个项目。
  • 你能不能去C:\wamp64\www\wtf\app_dev.php然后点击页面底部的调试栏。然后点击左侧菜单(最后一项)上的“配置”,查看是否有激活的缓存(OPcache、APC等)
  • 这实际上有点令人震惊,因为只有一个 symfony 项目,而且我确定我正在编辑这个项目。但是如果我对视图索引进行更改(例如删除内容)。即使在重新启动电脑并删除浏览器缓存之后,怎么可能向我显示一些内容。
  • $kernel->loadClassCache();这是我的 web/app_dev 文件夹中唯一包含单词 Cache 的行。

标签: php model-view-controller wamp symfony


【解决方案1】:

所以最终问题出在缓存上。我所要做的就是在我的控制台上运行命令: php bin/console cache:clear --env=prod 来源:http://symfony.com/doc/current/console/usage.html

【讨论】:

  • 在尝试解决问题时,清楚地描述您所做的工作非常重要。在原始帖子中,您说您已尝试清除缓存并在其他浏览器中启动它。由于在使用 Symfony 开发时清除缓存是一个非常正常的操作,因此很容易将浏览器缓存清除与 symfony 缓存清除误认为
  • 我是 Symfony 的新手,对 Web 开发很陌生,对于这个误解,我深表歉意。以后我会尽量讲清楚,谢谢评论,祝你有美好的一天,新年快乐!
  • 只是想提一下,与 Symfony 合作愉快。您肯定不是第一个为缓存而苦苦挣扎的人 :) 新年快乐!
  • 您必须使用 env=prod 的事实强烈暗示您在生产模式而不是开发模式下工作。在大多数情况下,您不必在开发模式下愚弄缓存。你得到调试工具栏了吗?如果没有,那么您正在使用 app.php 而不是 app_dev.php 在生产模式下工作。
【解决方案2】:

当您对 Twig 文件或控制器进行更改时,您应该始终使用以下方法清除缓存:

php bin/console cache:clear --env=prod

适用于您的生产环境。

DEV 环境是自动完成的,但有时您仍需要使用以下命令清除它:

php bin/console cache:clear

要访问 DEV 环境,只需将 app_dev.php 附加到您的路由 URL。例如:http://localhost/wtf/app_dev.php

如果您在 web 文件夹下打开该文件,您会看到您还可以添加要允许访问的远​​程主机的 IP 地址。

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 2015-12-31
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多