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