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



我目前正在Laravel中开发一个应用程序,并将其部署在Heroku中。

我在推送时收到这个错误:

symfony/polyfill ctype v1.24.0需要php>=7.1

有人知道如何解决这个问题吗?

事实上,我进行了调查,但我想不出该怎么办。我已经尝试运行composer update,但也没有解决方案。

Im使用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文件的require部分:

"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如何解决依赖关系的冲突">

1.23包没有这个问题。在Heroku支持composer v2之前,不要更新到1.24。

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

最新更新