Symfony 缓存:清除错误毁了我的整个项目

Posted

技术标签:

【中文标题】Symfony 缓存:清除错误毁了我的整个项目【英文标题】:Symfony cache:clear error ruined my whole project 【发布时间】:2021-07-21 03:24:19 【问题描述】:

我在 Symfony 5.2 中有一个简单的项目,我想安装 composer mailer 用于用户注册,所以我运行了:

composer require symfony/mailer

但是当它执行cache:clear时,它返回了一个错误,突然我在我的项目中什么都做不了,maker-bundle 不起作用,如果我运行服务器它会抛出一个错误:

In App_KernelDevDebugContainer.php line 429:
                                                                                                                                                                  
  Warning: require(C:\Users\Javi\Dropbox\DAW\GeoSport\var\cache\dev\ContainerTtp0Lx5\getVarDumper_ContextualizedCliDumper_InnerService.php): failed to open stream: No such file or directory                                                                                                                                   
                                                                                                                                                                  

list [--raw] [--format FORMAT] [--] [<namespace>]

运行symfony server:start 时出错:

【问题讨论】:

尝试手动删除缓存 - 删除 C:\Users\Javi\Dropbox\DAW\GeoSport\var\cache\dev\ 中的所有内容。 C:\Users\Javi\Dropbox - 你检查过 Dropbox 客户端是否会干扰这个吗?清理缓存会删除很多文件,也许 Dropbox 处理不了? 【参考方案1】:

有时您会遇到该错误。 清除缓存期间出现问题并且缓存不同步。一些缓存文件仍然存在并引用已删除的缓存文件。 最好是手动清除缓存文件夹 事实证明,这对我来说是多年来最好的解决方案。

所以基本上它是通过命令行自己手动清除缓存文件夹

 # For Mac: -r means "recursively" and -f means "forced"
 rm -rf route/to/var/cache
 
 # For Windows: /s means "include subdirectories" /q means "forced without asking"
 rmdir /s/q route/to/var/cache

并注意该命令。这很危险。 当您仍在键入文件夹时不小心按 Enter 键,可能会造成严重损坏 ?。所以可能先输入 route/to/var/cache 然后用命令作为前缀。

手动清除缓存文件夹实际上与在不预热的情况下清除缓存几乎相同。 Info here

【讨论】:

谢谢,不知道清缓存这么容易,安装依赖后命令自己运行,破坏了我的项目T.T 请分享更多细节。正如错误消息所述,缓存已经很干净。为什么再次清洁它会有所帮助?此外,rm -rf 可能无法在 Windows 上运行 否,缓存不干净。正如您在图像中看到的,缓存文件的“require ...”(错误中间)发生在另一个缓存文件中(错误顶部)。但我用更多信息更新了我的答案并添加了 Windows 命令。

以上是关于Symfony 缓存:清除错误毁了我的整个项目的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2 注销 CSRF 保护:csrf_provider 无法识别

Symfony 5.1.3 清除缓存时的问题:尝试从命名空间加载类“MappingDriverChain”

Symfony2 学说清除缓存

Symfony 2 与 Doctrine 中的一对多关系

Symfony 部署后清除缓存组件

Symfony2 会话和缓存:清除命令