Elastic Beanstalk部署CakePHP 3翻译文件更新异常求助
问题:Elastic Beanstalk部署CakePHP 3应用时翻译更新异常
我使用Elastic Beanstalk部署CakePHP 3应用,采用Po文件处理翻译逻辑,支持用户在后台修改翻译语句。目前遇到以下异常情况:
- 只有修改非Po文件(如HTML文件)并重新部署后,翻译更新才会在前端正常显示
- 若仅修改Po文件进行部署(每次部署会通过脚本生成Po文件),服务器端的Po文件有时无法同步更新,该现象具有随机性
已完成的排查操作
- 确认部署前本地Po文件的更新内容是正确的
- 每次部署及用户修改翻译时,都会删除
tmp/cache文件夹(CakePHP的二进制缓存文件存储于此),部署时通过ls命令验证该文件夹为空,确认CakePHP缓存已清理 - 未使用Elastic Cache,怀疑问题出在Elastic Beanstalk或Nginx的缓存机制上
补充现象
若修改.ebextension文件(例如添加一条简单的ls命令),服务器端的Po文件就能正常更新
环境信息
平台环境:PHP 7.4,运行于64位Amazon Linux 2/3.3.9
部署使用的.ebextension文件内容
container_commands: 01-deleteCache: command: | rm -fr /var/app/staging/tmp/ mkdir /var/app/staging/tmp mkdir /var/app/staging/tmp/cache chown -R webapp:webapp /var/app/staging/tmp chmod -R 777 /var/app/staging/tmp chmod -R 775 /var/app/staging/src/Locale/ echo "list cache directory to ensure it is empty" ls -la /var/app/staging/tmp/cache /var/app/staging/plugins/MyPlugin/src/Locale/it_IT/MyPlugin.po
内容的提问来源于stack exchange,提问作者R0bertinski
相关产品推荐
相关产品推荐

