You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP应用部署至Heroku失败求助:运行时版本配置错误

解决Heroku部署PHP应用时的运行时版本错误

我明白你在把PHP应用部署到Heroku时碰到这个版本检测的问题了,别担心,这个问题本质上是Heroku没法自动确定你的PHP运行时版本,咱们一步步来搞定它:

错误原因拆解

Heroku的PHP构建包需要从你的composer.json的require字段里明确获取PHP版本要求。如果只有require-dev(开发依赖)里包含了PHP版本相关的依赖,它没办法自动推断出生产环境要用的版本,所以就会抛出你看到的这个错误。

具体解决步骤

  1. 打开并修改composer.json
    找到项目根目录下的composer.json文件,在require节点下添加PHP版本的指定。你可以根据自己应用的实际需求选择合适的版本,比如兼容PHP 7.4及以上小版本,或者限制在某个大版本范围内:

    {
      "require": {
        "php": "^7.4", // 示例:兼容7.4.x所有更新版本
        // 这里保留你原本的其他生产依赖,比如laravel/framework之类的
      },
      "require-dev": {
        // 你的开发依赖内容不变
      }
    }
    

    版本号的写法可以灵活调整:

    • ^7.4:允许7.4.x的所有更新,不包含8.0及以上
    • >=7.4 <8.0:严格限制在7.4大版本内
    • 8.1.*:固定使用8.1的小版本更新
  2. 更新composer.lock文件
    在本地终端运行以下命令,让Composer同步版本要求到锁文件里:

    # 如果只想更新PHP版本相关的依赖,用这个
    composer update php
    # 如果想顺便更新其他依赖,用这个
    composer update
    
  3. 提交修改到Git仓库
    把修改后的composer.json和composer.lock提交到Git:

    git add composer.json composer.lock
    git commit -m "添加PHP版本要求以适配Heroku部署"
    
  4. 重新部署到Heroku
    最后推送到Heroku分支完成部署:

    git push heroku main
    

这样操作后,Heroku就能明确识别到你指定的PHP运行时版本,顺利完成平台包的安装和应用部署了。

内容的提问来源于stack exchange,提问作者besevero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:00:34