2

通过在 Elastic Beanstalk、EC2 上部署的 PHP 应用程序,我一直在使用 git 和 eb 来管理我的环境实例和所有文件。我需要更改文件目录的权限以使其可写,但 git 不负责传输目录权限。从mac上完成这项工作的最简单/最快的方法是什么?

Filezilla 需要很长时间来配置。我可以通过 SSH 连接到我的 EC2 实例,但仍然不确定如何更改我的目录的权限。

4

2 回答 2

2

通过 SSH 登录并输入下一步。

更改权限:

sudo su - # log-in as superuser*
chmod 755 /path/to/your/directory
# If you just want to allow Apache to write in directory then set 666 permissions

**如果您是目录的所有者,则无需以超级用户身份登录。*

如果需要,请更改所有者:

sudo su -
chown user:group /path/to/directory

更新:

感谢jamieb在评论中的更正。真的,我没有回答特定gtech的问题:

如何更改我的目录的权限

但当然,在我看来,最好将权限授予例如apache(或www-data)用户到您要写入的目录,以避免此类问题。

于 2012-10-19T02:11:56.863 回答
1

您必须在应用程序本身中执行此操作。在您的情况下,在写操作周围抛出一个 try/catch 块可能最有意义,如果抛出异常,请使用 PHP 的chmod()函数调整权限。

仅供参考,您很可能不想这样做。持久性数据需要存储在您的数据库或 S3(如果是文件)中。在每个实例的文件系统中本地存储数据是一种在您下次进行代码部署、发生自动缩放事件或重建环境时丢失该数据的好方法。它也可能会导致问题,因为由于弹性负载均衡器,您永远无法确定哪个实例为每个请求提供服务。

于 2012-10-21T05:51:43.750 回答