PHP 解析错误:语法错误,意外的标识符“AnsiColorMode”

Bla*_*arl 2 php laravel aws-codepipeline aws-codebuild

我在 AWS Elastic BeanStalk 上部署项目时遇到此错误。我最近从 github 中提取了我的项目,在此之前它部署没有问题。

在跟踪错误时,我发现这一行@php artisan package:discover --ansi就是问题的根源。

下面是错误:

Generating optimized autoload files
Run Code Online (Sandbox Code Playgroud)

Illuminate\Foundation\ComposerScripts::postAutoloadDump @php artisan package:discover --ansi PHP 解析错误:语法错误,/codebuild/output/src155211532/src/vendor/symfony/console/Output/AnsiColorMode.php 中出现意外标识符“AnsiColorMode”第 20 行脚本 @php artisan package:discover --ansi 处理返回的 post-autoload-dump 事件,错误代码为 255

composer.lock如果我删除文件并运行命令,这在 Docker 上效果很好sail composer install

如有任何帮助,我们将不胜感激。

小智 7

如果您查看文件中的第 20 行,AnsiColorMode.php您将看到以下代码enum AnsiColorMode:枚举以版本的形式出现在 PHP 中8.1,所以我假设您在 AWS 服务器中的 PHP 版本小于8.1.

所以你有2种方法:

  1. 将服务器上的 PHP 版本升级到8.1.
  2. 将 PHP 更改为您服务器上的版本composer.json并运行composer update以更新供应商库。在此之前,请确保您的代码与该版本兼容。