Heroku降级PHP版本

时间:2018-10-05 19:46:21

标签: php heroku

我根据需要在Heroku PHP 7.2上设置了我的应用程序:

{
    "name": ".../...",
    "require": {
        "php": "~7.2"
    }
}

现在,我降级到7.1并调整了composer.json和composer.lock:

{
    "name": ".../...",
    "require": {
        "php": "~7.1"
    }
}

但是它不起作用:

remote: Compressing source files... done.        
remote: Building source:        
remote: 
remote: -----> PHP app detected        
remote: -----> Bootstrapping...        
remote: -----> Installing platform packages...        
remote:        - php (7.2.10)        
remote:        - ext-gd (bundled with php)     

我在不同的版本限制下玩耍,这没有帮助。另外,我添加了config选项以限制版本。

"config": {
    "platform": {
        "php": "7.1.21"
    }
}

也没有帮助。

更新

  • 我以为可能是多个buildpack的问题,所以我建立了一个仅以heroku/php作为buildpack的应用。
  • 我使用^7.1表示法代替了~7.1
  • Heroku-16和-18似乎都受到影响

1 个答案:

答案 0 :(得分:1)

您想要~7.1.0,而不是~7.1。那些不一样。这在Composer source code中有大量记录:

  

通过示例可以很好地说明~运算符:~1.2等效于>=1.2 <2.0.0,而~1.2.3等效于>=1.2.3 <1.3.0