【发布时间】:2019-03-07 03:11:24
【问题描述】:
我按照类似主题的答案(https://stackoverflow.com/a/17531897/4388482)的说明进行操作。好吧,我的应用程序正在 Heroku 上部署,但效果不佳。我收到以下警告
您的项目仅包含“index.php”,没有“composer.json”。 使用 'index.php' 将应用程序类型声明为 PHP 已被弃用,并可能导致意外行为。
我可能需要安装一些东西吗?
更新
项目结构最初是这样的:
我做了以下事情:
- 已安装 PHP 5 和 composer。
- 我将 package.json 重命名为 composer.json 并删除了 package-lock.json。
- 键入“作曲家更新”命令。我收到“无需安装或更新”消息。
- 将供应商添加到 gitignore。将更改推送到 heroku。
我收到以下警告
您的“composer.lock”已过期!
在项目中找到 Composer 供应商目录!
【问题讨论】:
-
如果您还没有在 Inernet 上搜索过错误,请查看(第 1 个)stackoverflow.com/q/44683097/1415724 和第 2 个搜索结果找到 devcenter.heroku.com/articles/deploying-php - 有更多的命中,所以你可能想从那里继续。
-
我做了一些研究。最初我既没有安装 php 也没有安装 composer。我按照heroku的说明安装了它们,但网站仍然不能正常工作。我有 php 5,但这应该不是问题。
-
你能详细说明“效果不好”吗?
-
UI 与本地不同。向下滚动页面不起作用
-
package.json和package-lock.json可能是 JavaScript 依赖项。将它们重命名为原来的样子,并且不要删除锁定文件。您始终需要锁定文件来进行可重复部署。vendor文件夹中的文件是否已提交给 repo?我怀疑你需要解决这个问题 - 从 repo 中删除它们并添加一个composer.json文件(和锁定文件)以使用 Composer 安装它们。