Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS Elastic Beanstalk for PHP通过CLI上载ZIP-off应用程序_Php_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

AWS Elastic Beanstalk for PHP通过CLI上载ZIP-off应用程序

AWS Elastic Beanstalk for PHP通过CLI上载ZIP-off应用程序,php,amazon-web-services,amazon-elastic-beanstalk,Php,Amazon Web Services,Amazon Elastic Beanstalk,我想知道是否可以通过CLI将我的整个应用程序的zip上传到Elastic Beanstalk?目前我正在使用git aws.push,但问题是我的应用程序有供应商依赖项,我需要在部署后安装。如果我可以直接从CLI上传zip,我可以让我的jenkins build server安装所有供应商,压缩整个应用程序,然后上传到EBS 您将其标记为“Elastic Beanstalk”,因此我假设您正在尝试将应用程序推送到S3,而不是EBS。应用程序版本存储在S3存储桶中,Beanstalk部署脚本然后将

我想知道是否可以通过CLI将我的整个应用程序的zip上传到Elastic Beanstalk?目前我正在使用git aws.push,但问题是我的应用程序有供应商依赖项,我需要在部署后安装。如果我可以直接从CLI上传zip,我可以让我的jenkins build server安装所有供应商,压缩整个应用程序,然后上传到EBS

您将其标记为“Elastic Beanstalk”,因此我假设您正在尝试将应用程序推送到S3,而不是EBS。应用程序版本存储在S3存储桶中,Beanstalk部署脚本然后将.zip从存储桶下载到EBS卷,在
/tmp
中提取,然后通过代码复制到
/var/www/html
。实际上,您从未将任何内容直接上传到EBS卷(嗯,我的意思是,您不应该)

如果依赖项是PHP库,只需将它们包含在应用程序源代码包中即可。但是,如果您的依赖项包括安装在
/var/www/html
(如Apache模块或其他二进制文件)以外的位置的文件,那么不,您不能(轻松地)在部署期间使用Elastic Beanstalk和PHP实现这一点。您必须使用SSH连接,安装依赖项,“刻录”实例的自定义AMI,然后在Beanstalk环境配置中指定该自定义AMI


这有点难看,因为您现在有责任维护此自定义AMI,而使用Amazon提供的库存图像意味着您可以依靠它们定期发布带有安全修补程序的新版本等。请记住,AWS产品开发团队正以惊人的速度前进。就在几周前,Beanstalk团队还在进行资源调配。这可能正是您需要的,但不幸的是,它只支持Java和Python环境。不过我希望他们很快就会发布PHP支持,所以请密切关注。

谢谢您的回复,是的,我的意思是升级到s3,我可以做到这一点,但我一直在努力让它在ebs控制台中显示为一个版本。我的DEP都是composer安装的供应商,我在我的计算机服务器上创建了一个grunt任务,将所有内容压缩为一个包并推送到s3,效果很好,但我只需要解决作为版本添加的问题。@greg你有没有找到通过CLI将zip上传到s3并将其显示为版本的解决方案?!