Adr*_*lls 8 amazon-ec2 amazon-web-services composer-php amazon-elastic-beanstalk
我有一个具有Composer依赖关系的应用程序,我想将其部署到Elastic Beanstalk容器.但是我的composer.json文件不在项目根文件夹中.我的项目root具有以下结构:
- .ebextensions
- scripts
- www (Webroot)
- composer.json
Run Code Online (Sandbox Code Playgroud)
我已在容器配置选项中将文档根目录设置为/ www.问题是我需要在盒子上安装composer并运行composer安装脚本来添加项目依赖项.据我所知,在部署期间,EB会检查项目根目录中是否有composer.json文件并安装Composer,但在这种情况下,我的composer.json文件位于子目录中.
我认为在部署应用程序后,可以使用.ebextenstions添加命令来安装Composer和依赖项.我使用以下容器命令创建了一个.ebextensions/01-composer.config文件:
container_commands:
01-install-composer:
command: "curl -sS https://getcomposer.org/installer | php"
02-install-packages:
command: "php composer.phar install"
cwd: "/var/app/current/www/"
Run Code Online (Sandbox Code Playgroud)
但是我的应用程序不会使用此配置进行部署.希望得到一些帮助,看看我哪里出错了.
谢谢.
Ker*_*mos 16
Composer已经安装在Beanstalk的PHP AMI中.
还要考虑container_commands是通过'/ var/app/ondeck'而不是当前的.尝试这样的事情:
container_commands:
01-install-packages:
command: "composer.phar install -d /var/app/ondeck/www"
Run Code Online (Sandbox Code Playgroud)
请注意,AWS在Elastic Beanstalk中使用的大多数PHP容器都是通过现在运行composer.phar install来自动部署的.如果您没有"供应商"文件夹,则应该可以跳过此步骤.如果你想手动运行它,上面的方法应该可行,但你应该只需要像@kewubenduben这样的东西.
如果您正在尝试访问私有远程存储库,请在此处查看Q和A:使用PHP与私有Composer存储库的AWS Elastic Beanstalk,无耻插件.
归档时间: |
|
查看次数: |
11494 次 |
最近记录: |