【问题标题】:how do you change the php version that your app uses in heroku platform?您如何更改您的应用在 heroku 平台中使用的 php 版本?
【发布时间】:2018-04-21 10:58:56
【问题描述】:

我正在尝试将我的 heroku 应用程序使用的 PHP 版本从默认的 7.1 更改为 7.0。当我尝试在composer.json 中定义它时,它会被忽略。我需要做什么?

【问题讨论】:

    标签: php heroku composer-php


    【解决方案1】:

    你不需要将heroku堆栈降级到18或任何东西,你可以在composer.json中更改所需的PHP版本,然后对你的项目运行composer update,最后将它部署/构建到云端

    【讨论】:

      【解决方案2】:

      除了更新 composer 文件,如果您的应用程序需要 "php": ^5.6.0" 或 7.0.32,您需要确保您使用的 heroku 堆栈是 'heroku-16' 而不是 'heroku- 18'。

      在 CLI 中运行 heroku stack 以获取信息。默认情况下,它设置为“heroku-18”,这是最新版本,使用安装了 PHP 7.2 的 Ubuntu 18.04。

      如果它在 'heroku-18' 上,请使用命令 heroku stack:set heroku-16 进行切换。

      P.S:PHP 5.6 和 7.0 版将在 2018 年底结束生命周期。在此日期之后,PHP 维护人员将不会提供任何错误修复,包括关键的安全修复。强烈建议用户尽早将其应用程序更新到最新版本的 PHP 7.2。有关 PHP 版本支持时间表的更多信息,请参阅 PHP 官方网站上的Supported Versions page

      【讨论】:

        【解决方案3】:

        您需要正确类型的版本选择器。阅读https://getcomposer.org/doc/articles/versions.md

        在您的情况下,~7.0.0 允许 7.0.0 或更高版本,但不允许 7.1。

        请记住在更改后更新composer.lock,如https://devcenter.heroku.com/articles/php-support#selecting-a-runtime 中所述(阅读整个部分;那里的橙色框实际上完全回答了您在此处发布的问题)。

        不过,您确实应该更新您的代码。对 PHP 7.0 的支持将在几天后结束,PHP 团队将不再提供除安全修复之外的更新。见http://php.net/supported-versions.php

        【讨论】:

          【解决方案4】:

          Selecting a runtime,您需要使用composer.json并在此处指定PHP版本:

          {
            "require": {
              "php": "^5.6.0"
            }
          }
          

          在你的情况下,请:

          {
            "require": {
              "php": "7.0.0"
            }
          }
          

          【讨论】:

          • 在我的 composer.json 我有{ "require": { "php": "~7.0" } } 但heroku 选择php 7.1
          • @GeorgeGwaro 不要使用~
          • 这个答案不正确。它将 PHP 完全锁定到 7.0.0,这是个坏主意,因为您总是想要最新的 7.0.x。除非您的计算机上有旧的 7.0.0,否则您甚至无法以这种方式运行 composer update
          • ~ 很好,这里是正确的选择器,它只需要使用三位而不是两位。
          猜你喜欢
          • 1970-01-01
          • 2020-01-31
          • 2021-04-21
          • 2021-03-28
          • 2022-07-20
          • 1970-01-01
          • 1970-01-01
          • 2022-11-23
          • 1970-01-01
          相关资源
          最近更新 更多