/usr/bin/env.php:使用AWS Elastic Beanstalk没有这样的文件或目录



当我在PHP环境(运行在64位Amazon Linux 2/3.4.1上的PHP 8.1(中将Symfony应用程序部署到AWS Elastic Beanstalk时,Composer会出现以下错误:

----------------------------------------
/var/log/eb-engine.log
----------------------------------------
[...]
Executing script cache:clear [OK]
Executing script assets:install public [OK]
Executing script requirements-checker [KO]
[KO]
Script requirements-checker returned with error code 127
!!  /usr/bin/env: php: No such file or directory
!!  
Script @auto-scripts was called via post-install-cmd

但是当我连接到SSH时,命令composer install工作正常:

cd /var/app/staging/
sudo su -- webapp -c "/usr/local/composer.phar install"
Executing script cache:clear [OK]
Executing script assets:install public [OK]
Executing script requirements-checker [OK]

供应商/symfony/需求检查器/bin/需求检查器

#!/usr/bin/env php
<?php
include('requirements-checker.php');

我不明白为什么AWS弹性豆茎不知道"#/usr/bin/env-php";在部署时?

你能帮我吗?

谢谢。

我通过以下方法跳过Composer脚本执行,解决了这个问题:

.eextensions/01_php.config

option_settings:
aws:elasticbeanstalk:container:php:phpini:
composer_options: --no-scripts

然后,我再次运行composer install,但执行脚本:

.eextensions/02_app.config

[...]
05_composer_install:
command: |
runuser -u webapp -- 
composer.phar install --no-dev --optimize-autoloader

相关内容

最新更新