У меня есть приложение PHP на heroku, которое было развернуто без проблем в виде следующей структуры хранилища:
myapp
├── connect.php
├── elec.php
├── index.php
└── key.php
Я клонировал приложение на другом компьютере и реорганизовал приложение следующим образом:
myapp
├── auth-server
│ ├── composer.json
│ ├── connect.php
│ ├── election.php
│ ├── index.php
│ └── key.php
├── poll-server
└── Procfile
с Procfile, содержащим следующее:
web: vendor / bin / heroku-php-apache2 auth-server /
Однако развертываниевыдает следующее сообщение:
Enumerating objects: 35, done.
Counting objects: 100% (35/35), done.
Delta compression using up to 4 threads
Compressing objects: 100% (29/29), done.
Writing objects: 100% (34/34), 58.78 KiB | 2.35 MiB/s, done.
Total 34 (delta 7), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/php.tgz
remote:
remote: ! ERROR: Application not supported by this buildpack!
remote: !
remote: ! The 'heroku/php' buildpack is set on this application, but was
remote: ! unable to detect a PHP codebase.
remote: !
remote: ! A PHP app on Heroku requires a 'composer.json' at the root of
remote: ! the directory structure, or an 'index.php' for legacy behavior.
remote: !
remote: ! If you are trying to deploy a PHP application, ensure that one
remote: ! of these files is present at the top level directory.
remote: !
remote: ! If you are trying to deploy an application written in another
remote: ! language, you need to change the list of buildpacks set on your
remote: ! Heroku app using the 'heroku buildpacks' command.
remote: !
remote: ! For more information, refer to the following documentation:
remote: ! https://devcenter.heroku.com/articles/buildpacks
remote: ! https://devcenter.heroku.com/articles/php-support#activation
remote:
remote:
remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to myapp.
remote:
To https://git.heroku.com/myapp.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/myapp.git'
Поскольку у меня есть оба, index.php и composer.json, в корне документа, указанном в Procfile, сообщение об ошибке, по-видимому, не дает точной информации о том, что отсутствует.
Кроме того, я проверил фиксацию, которая работала на предыдущем компьютере (которая также является текущей развернутой версией), только чтобы обнаружить, что теперь она выходит из строя с тем же сообщением, что и выше.