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

标签 php windows apache amazon amazon-elastic-beanstalk

我最近转用了 Amazon 的 Elastic Beanstalk,它非常棒,但我有一个问题无法修复或找到合适的解决方案。

通过 GIT 部署时 $ git aws.push

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

通过 SSH 登录并运行非常简单:

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

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

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

最佳答案

在您的代码被提取到您的实例之后但在它被视为“已部署”之前,设置一个钩子(Hook)来修复权限实际上并不难。您可以创建一个名为 .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 的默认目录是部署文件已提取到的目录,因此无需设置显式路径。

您可以查看有关 kinds of commands you can run on your instances 的更多信息在 Elastic Beanstalk 文档中。

关于php - Windows:在部署到 Amazon Beanstalk 之前设置 PHP 文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547516/

相关文章:

php - 更新查询中使用的嵌套 foreach 循环中的数据

php - 连接表时,某些条目的日期列为 NULL

php - 如何从/var/tmp 更改默认的 Pear/PECL 构建文件夹?

apache - 仅在 .htaccess 中的特定时间允许来自特定引用者的访问

java - 如何强制 Apache 的 CloseableHttpClient 使用 TLSv1.2?

php - 我可以使用mysql_free_result()和mysql_close()吗?

windows - Cordova - 是否可以在 config.xml 中配置 Windows 应用程序图标和启动屏幕?

windows - 在 Windows 上使用文件关闭进程

java - Java中程序的可执行文件进行镜像

apache - JDBC PoolingDataSource 与 PoolingDriver