【问题标题】:Deployment failure: Failed opening required '/var/app/ondeck/vendor/autoload.php'部署失败:打开失败需要'/var/app/ondeck/vendor/autoload.php'
【发布时间】:2020-03-04 02:07:08
【问题描述】:

我遇到了一个我真的不明白的问题。我已经为我的 Laravel 应用程序开发了一个本地作曲家包(基于一个没有完全按照我的需要做的现有的作曲家包),现在我不能再成功地将我的应用程序部署到我的 AWS Elastic Beanstalk 实例。

我相信我的新本地作曲家包是正确创建的:我把原来的作曲家包移到了我的 Laravel 应用根目录中一个名为“包”的新文件夹中。我在指向它的composer.json 中添加了一个repositories 条目:

"repositories": [
    {
        "type": "path",
        "url": "packages/konsulting/justgiving-api-sdk"
    }
]

然后我运行composer require konsulting/justgiving-api-sdk @dev,本地包安装成功。它在本地运行没有问题。

但现在部署到 EB,我收到以下错误:

活动执行失败,因为:PHP 警告: 要求(/var/app/ondeck/vendor/autoload.php):无法打开流: PHP 第 18 行的 /var/app/ondeck/artisan 中没有这样的文件或目录 致命错误:require():需要打开失败 '/var/app/ondeck/vendor/autoload.php' (include_path='.:/usr/share/pear7:/usr/share/php') 在 /var/app/ondeck/artisan 在第 18 行
(ElasticBeanstalk::ExternalInvocationError)

什么可能导致此问题?从字面上看,除了这个作曲家包(在本地工作)之外没有什么不同。

我试过composer dumpautoloadcomposer update

【问题讨论】:

  • 你是如何部署你的应用程序的?
  • 你检查/var/app/ondeck/vendor/autoload.php是否存在于服务器上?

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


【解决方案1】:

问题很简单,但令人困惑。我只需要在repositories {} 中禁用符号链接。

"options": {
    "symlink": false
}

现在工作正常!

【讨论】:

    猜你喜欢
    • 2017-04-19
    • 2019-02-01
    • 2020-01-10
    • 2018-09-16
    • 2019-05-30
    • 2012-08-14
    • 1970-01-01
    • 2020-04-18
    • 2018-07-24
    相关资源
    最近更新 更多