将 Symfony2 应用程序部署到 Elastic Beanstalk 时,我需要执行手动缓存清除,以便应用程序开始运行。因此,我添加了一个容器命令来在部署期间清除产品缓存。命令运行,但我仍然必须手动清除才能使应用程序正常工作。
经过一番挖掘,我发现 Symfony2 缓存文件本身就有绝对路径字符串。我添加的命令运行“预部署”或在应用程序文件从其暂存文件夹(称为“/var/app/ondeck”)移动到它们的最终存放位置(“/var/app/current”)之前运行。结果,缓存文件中的绝对路径字符串错误,导致应用无法加载。
此外,开发环境可以立即正常工作,因为它会自动重建自己的缓存。prod 环境是唯一受到影响的环境。
我的问题:
- 有没有办法在代码移动到位后自动运行缓存清除命令?
- 或者,是否有某种方法可以让 Symfony2 让您为缓存生成指定不同的“基本路径”?这样它就可以设置为指向正确的最终位置。
提前感谢大家:-)