我有一个Symfony2网站,我正在测试生产.我继续清理缓存,因为我已经制作并可能会进行更多修改,但是存在一个小问题:
当缓存被清除并说,之后我想热身,访问网站的人重建缓存.这会在构建缓存时产生一个小问题,但不会完全,而其中一半会被删除,因为删除仍在进行中.
之后发生的是,缓存是构建的,但只是其中的一部分. Symfony认为缓存是完全构建的,并且运行时不再尝试构建它,但它运行在半构建的缓存上.删除过程有点长(约15秒),因此在此时间范围内,任何人都必须通过访问网站来尝试创建缓存.
无论是,还是缓存是完全构建的,它都会覆盖旧缓存,系统会将这些新文件视为旧文件,删除部分文件,保留其他文件.不完全确定,我不确定如何检查这个.
例如,我得到的一个错误是
The directory "D:\xampp\htdocs\med-app\app\app\cache\dev/jms_diextra/Metadata" does not exist.
如果我不使用该捆绑包,我会从Doctrine中获得另一个缓存问题.这将出现在每个网站访问,直到我再次删除缓存没有任何人访问该网站.它完全阻止访问网站并使其无法正常运行.
还有,热身怎么样?这也需要一段时间.如果有人在缓存预热时访问网站怎么办?这不会造成冲突吗?
怎么处理这个问题?我是否需要关闭apache服务,清除和加热缓存然后重启apache?如何处理生产中的网站?
编辑
我发现了一些有趣的东西.删除缓存/ prod文件夹时发生错误.如果我删除文件夹的内容而不删除文件夹本身,似乎不会发生错误.我想知道为什么.
通常,如果您正在执行更新,或者因生产中的任何其他原因清除缓存,则最好将网站锁定为维护模式.有时,Web托管服务有此选项可以为您处理此问题,或者有一个
nice bundle可以从命令行轻松处理维护.