我管理了一个几年前的应用程序,我不是原始开发人员。
自2014年底以来,该网站一直在AWS EB上运行 - 使用laravel 4。
今天,AWS终止了我的ec2实例,因为盒子的类型正在退役。新实例产生没有问题,但应用程序没有运行。
当我尝试部署该版本的app(通过zip)时,出现以下错误:
不幸的是,在过去的4到5年里,我不是一个PHP开发人员,所以我对从哪里开始感到困惑。这似乎是文件本身的一个问题,这就是我所拥有的:[实例:i-03441954f29775f02]实例上的命令失败。返回 代码:1输出: [CMD-AppDeploy / AppDeployStage0 / AppDeployPreHook / 10_composer_install.sh] 命令失败,错误代码1: /opt/elasticbeanstalk/hooks/appdeploy/pre/10_composer_install.sh ++ / opt / elasticbeanstalk / bin / get-config容器-k app_staging_dir + EB_APP_STAGING_DIR = / var / app / ondeck + cd / var / app / ondeck +'[ - -f composer.json']'+ export COMPOSER_HOME = / root + COMPOSER_HOME = / root + '['-d vendor']'++ / opt / elasticbeanstalk / bin / get-config optionsettings -n aws:elasticbeanstalk:container:php:phpini -o composer_options + PHP_COMPOSER_OPTIONS = + echo'找到composer.json 文件。试图安装供应商。'找到composer.json文件。 试图安装供应商。 + composer.phar安装--no-ansi --no-interaction [UnexpectedValueException]。
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.2.*",
"zizaco/confide": "~4.0@dev",
"dollar/generators": "dev-master",
"anahkiasen/former": "dev-master",
"guzzlehttp/guzzle": "~4.0",
"rhumsaa/uuid": "~2.7",
"aws/aws-sdk-php-laravel": "1.*",
"nesbot/Carbon": "*",
"maatwebsite/excel": "1.*",
"mandrill/mandrill": "1.0.*",
"barryvdh/laravel-snappy": "0.1.x",
"h4cc/wkhtmltopdf-amd64": "0.12.0",
"davibennun/laravel-raygun": "dev-master",
"dchesterton/marketo-rest-api": "^0.0.5"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
除此之外,我不确定我是否需要对EC2盒子本身做些什么。我会说服务器过去已经重新生成 - 可能不会持续2年左右,没有问题。
这些是EB的服务器规格。
运行PHP 5.5的64位Amazon Linux 2014.09 v1.0.9
答案 0 :(得分:0)
这个问题也发生在我身上,深入研究/var/log/eb-activity.log
(您必须ssh进入您的实例以访问此日志文件)之后,我发现composer.json中的某些软件包需要PHP版本7.3,在我的实例中,我安装了PHP 7.2。
我要解决的问题是将依赖关系(在我的情况下为laravel-websockets)从1.3降级为1.2,因为弹性beantalk当前不支持PHP 7.3。
但是,在这种情况下,您也可以升级PHP版本。
为了真正了解问题所在,最好访问日志文件/var/log/eb-activity.log