【发布时间】:2024-04-29 05:40:03
【问题描述】:
在将 Symfony2 应用程序部署到 Elastic Beanstalk 时,我需要执行手动缓存清除,以便应用程序开始运行。因此,我添加了一个容器命令来在部署期间清除产品缓存。命令运行,但我仍然必须手动清除才能使应用程序运行。
经过一番挖掘,我发现 Symfony2 缓存文件本身就有绝对路径字符串。我添加的命令运行“预部署”或在应用程序文件从其暂存文件夹(称为“/var/app/ondeck”)移动到它们的最终存放位置(“/var/app/current”)之前运行。结果导致缓存文件中的绝对路径字符串错误,导致应用加载失败。
此外,开发环境可以立即正常工作,因为它会自动重建自己的缓存。 prod 环境是唯一受到影响的环境。
我的问题:
- 有没有办法在代码移动到位后自动运行缓存清除命令?
- 或者,有没有办法让 Symfony2 让您为缓存生成指定不同的“基本路径”?这样就可以将其设置为指向正确的最终位置。
提前感谢大家:-)
【问题讨论】:
-
您使用的是最新的 5.4 AMI 吗?我有完全相同的设置,我没有注意到这个问题,但我会做一些挖掘......你是使用 git 部署还是手动上传 zip?
标签: php amazon-web-services symfony-2.1 amazon-elastic-beanstalk