部署失败:打开失败需要'/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 dumpautoload
和composer update
。
【问题讨论】:
你是如何部署你的应用程序的? 你检查/var/app/ondeck/vendor/autoload.php
是否存在于服务器上?
【参考方案1】:
问题很简单,但令人困惑。我只需要在repositories
中禁用符号链接。
"options":
"symlink": false
现在工作正常!
【讨论】:
以上是关于部署失败:打开失败需要'/var/app/ondeck/vendor/autoload.php'的主要内容,如果未能解决你的问题,请参考以下文章
用户 'IIS APPPOOL**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)