【发布时间】: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是否存在于服务器上?
标签: php laravel amazon-web-services composer-php amazon-elastic-beanstalk