Я пытался развернуть приложение php на heroku, но продолжаю получать эту ошибку:
-----> PHP app detected
-----> Bootstrapping...
-----> Installing platform packages...
ERROR: neither your composer.json 'require' section nor any
dependency therein requires a runtime version, but 'require-dev'
or a dependency therein does. Heroku cannot automatically select
a default runtime version in this case.
Please add a version requirement for 'php' to section 'require'
in composer.json, 'composer update', commit, and deploy again.
! ERROR: Couldn't load 'composer.lock'; it must be a valid lock
file generated by Composer and be in a consistent state.
Check above for any parse errors and address them if necessary.
Run 'composer update', add/commit the change, then push again.
! Push rejected, failed to compile PHP app.
! Push failed
кто-нибудь знает, как я могу это решить?
Я настоятельно рекомендую использовать композитор, он может значительно облегчить вашу работу
Это проект с открытым исходным кодом, у него есть файл композитора: "require-dev": {"phpunit / phpunit": "4.3. *", "Maximebf / debugbar": "> = 1.0.0", "doctrine / cache ":" 1.4. * "," Elasticsearch / elasticsearch ":" ~ 2.0 "," monolog / monolog ":" ~ 1.0 "," knplabs / github-api ":" ~ 1.2 "," ezyang / htmlpurifier ":" ~ 4.6 "," easyrdf / easyrdf ":" 0.9. * "," Hoa / compiler ":" ~ 2.15 "," hoa / visitor ":" ~ 1.15 "," коллективный доступ / служебная оболочка ":" v1.1 "," phpoffice / phppresentation ":" dev-master "," phpoffice / phpword ":" v0.13. * "}}






Вот на что я бы посмотрел, и извините, если какое-либо из этих предположений неверно, или я просматриваю то, что вы уже сделали.
{
"name": "something/something",
"description": "A description of my project",
"type": "project",
"require": {
"php": ">=5.5.9",
"doctrine/cache": "1.4.*",
"elasticsearch/elasticsearch": "~2.0",
"monolog/monolog": "~1.0",
"knplabs/github-api": "~1.2",
"ezyang/htmlpurifier": "~4.6",
"easyrdf/easyrdf": "0.9.*",
"hoa/compiler": "~2.15",
"hoa/visitor": "~1.15",
"collectiveaccess/service-wrapper": "v1.1",
"phpoffice/phppresentation": "dev-master",
"phpoffice/phpword": "v0.13.*"
},
"require-dev": {
"phpunit/phpunit": "4.3.*",
"maximebf/debugbar": ">=1.0.0"
}
}
Если у вас не установлен композитор, вам нужно это сделать. https://www.hostinger.com/tutorials/how-to-install-composer
Запустите php composer install в первом экземпляре php composer update позже, чтобы установить ваши зависимости.
Пожалуйста, зафиксируйте все, кроме файлов поставщика и любого кеша или журналов. Это будет включать composer.lock, который представляет собой список установленных зависимостей и версий, которые вы используете.
Heroku установит эти зависимости в производственной среде, убедившись, что она использует ту же версию, что указана в файле блокировки.
Вы используете какой-либо фреймворк на php? Или это простой php? Heroku использует composer, который является менеджером зависимостей php, для идентификации php и других связанных пакетов. Без файла композитора я не думаю, что можно развернуть на heroku