无法将 Laravel 应用程序部署到 Heroku - symfony/polyfill-ctype v1.24.0 需要 php >=7.1

Cannot deploy Laravel App to Heroku - symfony/polyfill-ctype v1.24.0 requires php >=7.1

我目前正在 Laravel 开发应用程序并将其部署到 Heroku。

推送时出现此错误:

symfony / polyfill-ctype v1.24.0 requires php >= 7.1

有人知道怎么解决吗?

事实是我进行了调查,但我想不出该怎么做。我已经试过了 运行 composer update 也没有解决办法

我正在使用 Laravel Framework 8.78.1

{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
    "php": "^7.3|^8.0",
    "fideloper/proxy": "^4.4",
    "fruitcake/laravel-cors": "^2.0",
    "guzzlehttp/guzzle": "^7.0.1",
    "laravel/framework": "^8.40",
    "laravel/passport": "^10.2",
    "laravel/tinker": "^2.5"
},

将以下内容添加到 composer.json 文件的要求部分:

"symfony/polyfill-ctype": "~1.23.0",
"symfony/polyfill-iconv": "~1.23.0",
"symfony/polyfill-mbstring": "~1.23.1",
"symfony/polyfill-php80": "~1.23.1"

来自 Heroku 支持: “由于 symfony/polyfill-ctype 声明自 v1.24.0 以来提供的 ext-ctype,并且此包已经与 Heroku 提供的 PHP 包捆绑在一起,因此由于 Composer 1 解决依赖关系的方式而导致冲突。”。 =12=]

1.23 版本的软件包没有这个问题。在 Heroku 支持 composer v2 之前不要更新到 1.24。

2022 年 1 月 7 日更新: Heroku 已修复该问题。不需要声明特定的包版本。 https://github.com/heroku/heroku-buildpack-php/issues/528