簡體   English   中英

/usr/bin/env: php: AWS Elastic Beanstalk 沒有這樣的文件或目錄

[英]/usr/bin/env: php: No such file or directory with AWS Elastic Beanstalk

當我將 Symfony 應用程序部署到 AWS Elastic Beanstalk 時,在 PHP 環境中(PHP 8.1 在 64 位 Amazon Linux 上運行,出現 Compos.4743831Z 2)。

----------------------------------------
/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/requirements-checker/bin/requirements-checker

#!/usr/bin/env php
<?php

include('requirements-checker.php');

我不明白為什么 AWS Elastic Beanstalk 在部署時不知道“#?/usr/bin/env php”?

你能幫助我嗎?

謝謝。

我設法通過跳過 Composer 腳本執行來解決問題:

.ebextensions/01_php.config

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

然后,我再次運行composer install但執行腳本:

.ebextensions/02_app.config

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM