通过ebextensions设置laravel存储目录权限



我正在研究弹性豆茎扩展。每次部署都会发生存储权限拒绝错误,我必须键入命令才能解决此问题。下面的代码(.extensions/cmod.config(是否阻止了错误的发生?

container_commands:
01addpermission:
command: "chmod -R 755 /var/app/current/storage"
01clearcache:
command: "php /var/app/current config:cache"

遗憾的是,代码无法工作。原因是当你的应用程序在staging文件夹中时,容器命令会运行,而不是current文件夹中:

指定的命令以root用户身份运行,并按名称的字母顺序进行处理。容器命令从暂存目录运行,在将源代码部署到应用程序服务器之前,将在该目录中提取源代码。

您可以尝试使用相对路径

container_commands:
01addpermission:
command: "chmod -R 755 ./storage"
02clearcache:
command: "php . config:cache"

替代方案是使用部署后平台挂钩,在部署应用程序后运行命令:

此处的文件弹性Beanstalk平台引擎部署应用程序和代理服务器之后运行

最新更新