Ich habe eine Anwendung mit Composer-Abhängigkeiten, die ich in einem Elastic Beanstalk-Container bereitstellen möchte. Meine composer.json-Datei befindet sich jedoch nicht im Stammordner des Projekts. Mein Projektstamm hat die folgende Struktur:
%Vor%Und ich habe den Dokumentenstamm in den Containerkonfigurationsoptionen auf / www gesetzt. Das Problem ist, dass ich Composer auf der Box installieren und das Composer-Installationsskript ausführen muss, um die Projektabhängigkeiten hinzuzufügen. Ich verstehe, dass EB während einer Bereitstellung prüfen wird, ob es eine composer.json-Datei im Projektstamm gibt und installiere Composer, aber in diesem Fall befindet sich meine composer.json-Datei in einem Unterverzeichnis.
Ich dachte, dass .extextentions verwendet werden könnte, um Befehle zum Installieren von Composer und Abhängigkeiten hinzuzufügen, nachdem die Anwendung bereitgestellt wurde. Ich habe eine Datei .exebenxtensions / 01-composer.config mit den folgenden Containerbefehlen erstellt:
%Vor%Aber meine App wird nicht mit dieser Konfiguration bereitgestellt. Ich würde mich über Hilfe freuen, um zu sehen, wo ich falsch liege.
Danke.
Composer ist bereits standardmäßig in Beanstalk's PHP AMI installiert.
Bedenken Sie auch, dass container_commands über '/ var / app / ondeck' laufen und nicht auf dem aktuellen Stand sind. Versuchen Sie etwas wie folgt:
%Vor%Nur ein Hinweis: Die meisten der von AWS in Elastic Beanstalk verwendeten PHP-Container werden automatisch bereitgestellt, indem composer.phar jetzt installiert wird. Sie sollten diesen Schritt überspringen können, wenn Sie keinen Ordner "Vendors" haben. Wenn Sie es manuell ausführen möchten, sollten die oben genannten Methoden funktionieren, aber Sie sollten nur etwas wie @kewubeduben erwähnt haben.
Wenn Sie versuchen, auf ein privates Remoterepository zuzugreifen, lesen Sie das Q und A hier: AWS Elastic Beanstalk mit PHP mit privaten Composer-Repositories , schamlos Plug.
Ging mit dem Vorschlag von @ tbjes und verschoben composer related Dateien außerhalb meiner Dokument-Root auf das Projekt root und nach einem schnellen Test scheint alles aus der Box arbeiten, ohne Compiler über .ebxtenstions Konfigurationsdateien ausführen zu müssen.
Tags und Links amazon-web-services amazon-ec2 elastic-beanstalk composer-php