Php 使目录可写(部署在EC2上的应用程序)的最佳方法是什么?

Php 使目录可写(部署在EC2上的应用程序)的最佳方法是什么?,php,amazon-ec2,amazon-web-services,Php,Amazon Ec2,Amazon Web Services,通过在Elastic Beanstalk、EC2上部署一个PHP应用程序,我一直在使用git和eb来管理我的环境实例和所有文件。我需要更改文件目录的权限以使其可写,但git不负责传输目录权限。从mac电脑上实现这一点最简单/最快的方法是什么 Filezilla需要很长时间来配置。我可以SSH到我的EC2实例中,但仍然不确定如何更改我的目录的权限 通过SSH登录并键入next 更改权限: sudo su - # log-in as superuser* chmod 755 /path/to/you

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


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

通过SSH登录并键入next

更改权限:

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
**如果您是目录的所有者,则不需要以超级用户身份登录*

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

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
更新:

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
感谢您在评论中的更正。真的,我没有回答特别的问题:

如何更改我的目录的权限


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

您必须从应用程序本身内部执行此操作。在您的情况下,最好在写操作周围抛出try/catch块,如果抛出异常,则使用PHP的
chmod()
函数调整权限


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

不,这是不正确的;您不希望被SSHing到由Elastic Beanstalk部署的实例中。您的更改将在下一次应用程序部署或自动缩放事件中被销毁。