【问题标题】:AWS Elastic Beanstalk Composer unable to pick composer.jsonAWS Elastic Beanstalk Composer 无法选择 composer.json
【发布时间】:2016-03-11 11:46:48
【问题描述】:

我在尝试使用 Elastic Beanstalk 部署我的 PHP 应用程序时遇到了一个问题。

我在 .ebextensions 中有我的 .config,如下所示

commands:
    01-composer-selfupdate:
        command: "export COMPOSER_HOME=/root && composer.phar self-update -n"
    02-composer-install:
        command: "composer.phar install --no-dev --optimize-autoloader --prefer-dist --no-interaction"
option_settings:
    -   option_name: DB_SERVER
        value: '<server details>'
    -   option_name: DB_USER
        value: '<username>'
    -   option_name: DB_PASSWORD
        value: '<password>'
    -   option_name: DB_NAME
        value: '<db name>'
    -   namespace: aws:elasticbeanstalk:application:environment
        option_name: COMPOSER_HOME
        value: /root

这是 composer 放置在根文件夹中的代码结构。

非常感谢您对此的任何帮助。

【问题讨论】:

  • 我将成为您在~ 中运行的命令,而您的应用程序并未存储在那里。试试cd /path/to/your/site/code/folder &amp;&amp; composer.phar install --no-dev --optimize-autoloader --prefer-dist --no-interaction"
  • 我怀疑,但是当我们使用 beanstalk 进行部署时,路径是否总是 /var/www/html ?如果它与 /var/www/html 不同,关于如何找到部署路径的任何想法
  • @ceejayoz 感谢您的帮助。我已经调整了命令,现在它运行良好。
  • 那你应该回答你自己的问题,别人可能认为它有用。
  • @BMW 我已将其更新为解决方案的一部分。如果它没有出现,请告诉我。该目录已更新为 /var/app/ondeck,因为 Amazon 不会直接部署到 /var/www/html。作为部署前和部署后的一部分,代码将移至 /var/www/current 和 /var/www/ondeck(根据我通过多个线程收集的信息)

标签: amazon-web-services composer-php amazon-elastic-beanstalk


【解决方案1】:

从日志中找到正确的文件夹:

+ EB_APP_STAGING_DIR=/var/app/ondeck
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir
  + EB_APP_DEPLOY_DIR=/var/app/current
  + '[' -d /var/app/current ']'
  + mv /var/app/current /var/app/current.old
  + mv /var/app/ondeck /var/app/current
  + nohup rm -rf /var/app/current.old

【讨论】:

    猜你喜欢
    • 2013-07-05
    • 2017-03-26
    • 2013-08-24
    • 2019-10-01
    • 2018-05-23
    • 1970-01-01
    • 2021-02-01
    • 2016-03-24
    • 2021-10-07
    相关资源
    最近更新 更多