Как установить статическое веб-приложение на Heroku

Я следовал инструкциям из ответа на подобную тему ( https://stackoverflow.com/a/17531897/4388482 ). Ну, мое приложение развертывается на Heroku, но оно не работает. Я получаю следующее предупреждение

В вашем проекте содержится только 'index.php', no 'composer.json'. Использование «index.php» для объявления типа приложения, поскольку PHP устарел и может привести к неожиданному поведению.

Нужно ли мне что-то устанавливать?


ОБНОВИТЬ

Первоначально структура проекта была такой:

Первоначально структура проекта

Я сделал следующее:

  • Установлен PHP 5 и композитор .
  • Я переименовал package.json в composer.json и удалил package-lock.json .
  • Типизированная команда «Обновление композитора». Я получил сообщение «ничего не устанавливать или обновлять».
  • Добавлен продавец в gitignore. Вдвинутые изменения в герою.

Я получил следующие предупреждения

  1. Ваш «composer.lock» устарел!

  2. Поставщик поставщика композитора найден в проекте!

Всего 1 ответ


Жалоба, которую Heroku имеет, касается этой папки .

Для записи в настоящее время содержимое этой папки:

bootstrap
fontawesome-free
jquery-easing
jquery

Что здесь произошло, так это то, что кто-то совершил зависимости от вашего контроля версий, что не является хорошей практикой. Он будет работать так, как есть, но выполнять обновления не так-то просто, тем более, что вы не можете легко увидеть, какие версии у вас в настоящее время есть.

Есть три способа сделать это.

  1. Решите, являются ли они зависимостями PHP, путем поиска Packagist . Существует зависимость Composer для Bootstrap, но вам нужно будет узнать, доступна ли версия, которую вы используете (или можете ли вы обновить ее до одного из доступных).

  2. Решите, являются ли они зависимостями JavaScript, путем поиска NPM . Интересно, стоит ли изучать содержимое вашего package.json если они уже покрыты. Для чего это стоит, я бы вообще рассматривал этих кандидатов для библиотек JavaScript, а не PHP, но делал то, что работает для вас.

  3. Выберите, чтобы оставить эти зависимости в vendor папке vendor . Он будет работать, но он не идеален по причинам, уже заявленным.

В двух последних случаях вы могли бы, возможно, сойти с файла composer.json таким образом, который вы должны передать репо:

{
  "require": {
  }
}

После этого вы можете попробовать composer install , чтобы узнать, будет ли он генерировать файл .lock в пустом списке зависимостей. Если это сгенерировано, тогда вы также должны зафиксировать это.


Есть идеи?

10000