Windows:在部署到Amazon Beanstalk之前设置PHP文件权限

Mik*_*rto 3 php windows apache amazon amazon-elastic-beanstalk

我最近转换到亚马逊的Elastic Beanstalk,这很棒,但我有一个问题,我无法修复或找到一个像样的解决方案.

使用$ git aws.push通过GIT进行部署时

我的文件已部署,但我的所有文件夹和文件都没有正确的权限.目前正在运行带有xampp的Win 8进行本地开发.例如,在最近的WordPress部署中,我的所有文件夹在部署到beanstlak后都是777.它也是文件所在的NTFS分区.

SSH和运行很容易:

$  sudo su
$  find /var/www/html/ -type d -exec chmod 755 {} \;
$  find /var/www/html/ -type f -exec chmod 644 {} \;
Run Code Online (Sandbox Code Playgroud)

但是我宁愿在上传之前修复我的权限,但是我不认为这可以用于Windows.我确信我可以设置一个脚本或某种类型的服务挂钩来在部署时运行这些,但我希望可能有一个更简单的方法.

SO社区对设置Windows文件权限以匹配Apache的任何见解?

Mar*_*cin 7

在将代码提取到您的实例之后但在它被视为"已部署"之前,设置钩子来修复权限实际上并不困难.你可以创建一个名为的文件.ebextensions/00permissions.conifg,只要它在带有扩展名的正确文件夹中,名称就不重要了.config- 配置脚本按字母顺序执行.内容如下:

container_commands:
  00fix_permissions_dirs:
    command: "find . -type d -exec chmod 755 {} \;"
    ignoreErrors: true
  01fix_permissions_files:
    command: "find . -type f -exec chmod 644 {} \;"
    ignoreErrors: true
Run Code Online (Sandbox Code Playgroud)

请注意,a的默认目录container_command是部署文件已提取到的目录,因此无需设置显式路径.

您可以在Elastic Beanstalk文档中查看有关可以在实例上运行的命令类型的更多信息.