部署失败:打开失败需要'/var/app/ondeck/vendor/autoload.php'

Posted

技术标签:

【中文标题】部署失败:打开失败需要\'/var/app/ondeck/vendor/autoload.php\'【英文标题】: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是否存在于服务器上? 【参考方案1】:

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

"options": 
    "symlink": false

现在工作正常!

【讨论】:

以上是关于部署失败:打开失败需要'/var/app/ondeck/vendor/autoload.php'的主要内容,如果未能解决你的问题,请参考以下文章

用户 'IIS APPPOOL**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)

skype for business server2015部署向导启动服务失败

Azure部署失败

云桌面内部服务器api调用失败

nginx打开网站失败?

AWS 代码部署部署失败