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

我最近转换到亚马逊的Elastic Beanstalk,这是伟大的,但我有一个问题,我一直无法修复或find一个体面的解决scheme。

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

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

SSH进入并运行很容易:

$ sudo su $ find /var/www/html/ -type d -exec chmod 755 {} \; $ find /var/www/html/ -type f -exec chmod 644 {} \; 

不过,我宁愿修复上传之前我的权限,但我不认为这是可能的Windows。 我敢肯定,我可以设置一个脚本或某种types的服务钩来运行这些部署,但我希望有一个更简单的方法。

从SO社区的任何见解,设置Windows文件的权限,以配合Apache的?

在您的代码被提取到您的实例之后,但在被视为“已部署”之前,设置挂钩来修复权限并不难。 您可以创建一个名为.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 

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

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

container_commands:00fix_permissions_dirs:command:“find / var / app / ondeck -type d -exec chmod 755 {} \;” ignoreErrors:true 01fix_permissions_files:command:“find / var / app / ondeck -type f -exec chmod 644 {} \;” ignoreErrors:true

这将更改应用程序的文件权限。 目前,当应用程序完全部署时,没有办法运行命令,但是可以利用“ondeck”文件夹,它是部署之前beanstalk放置应用程序文件的文件夹。