gpt4 book ai didi

php - 如何在 Heroku 上部署静态 Web 应用程序

转载 作者:行者123 更新时间:2023-12-04 01:51:53 26 4
gpt4 key购买 nike

我按照类似主题 (https://stackoverflow.com/a/17531897/4388482) 的回答中的说明进行操作。嗯,我的应用程序正在 Heroku 上部署,但效果不佳。我收到以下警告

Your project only contains an 'index.php', no 'composer.json'. Using 'index.php' to declare app type as PHP is deprecated and may lead to unexpected behavior.

我是否需要安装一些东西?


更新

项目结构最初是这样的:

Project structure was initially this

我做了以下事情:

  • 安装了 PHP 5composer
  • 我将 package.json 重命名为 composer.json 并删除了 package-lock.json
  • 键入“ Composer 更新”命令。我收到“没有要安装或更新的内容”消息。
  • 将供应商添加到 gitignore。将更改推送到 heroku。

我收到以下警告

  1. Your 'composer.lock' is out of date!

  2. Composer vendor dir found in project!

最佳答案

Heroku 的投诉是regarding this folder .

为了记录,该文件夹目前的内容是:

bootstrap
fontawesome-free
jquery-easing
jquery

这里发生的事情是有人向你的版本控制提交了依赖项,这不是好的做法。它会按原样工作,但升级不是很容易,尤其是因为您无法轻易查看当前拥有的版本。

有三种方法可以解决这个问题。

  1. 通过搜索 Packagist 确定这些是否是 PHP 依赖项. Bootstrap 有一个 Composer 依赖项,但您需要查看您使用的版本是否可用(或者您是否可以升级到可用版本)。

  2. 通过搜索 NPM 确定这些是否是 JavaScript 依赖项.我想知道是否值得检查您的 package.json 的内容,以防这些内容已经涵盖。就其值(value)而言,我通常会考虑将这些候选对象用于 JavaScript 库而不是 PHP,但做对你有用的事情。

  3. 选择将这些依赖项保留在现有 vendor 文件夹中。它会起作用,但由于已经陈述的原因,它并不理想。

在最后两种情况下,您可能会得到一个 composer.json 文件,您应该将其提交给 repo:

{
"require": {
}
}

您可以在此之后尝试安装 composer,看看它是否会在空依赖列表上生成 .lock 文件。如果这确实生成了,那么您也应该提交它。

关于php - 如何在 Heroku 上部署静态 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52600760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com