ポートフォリオを公開するためにHerokuを使用しています。
HTML、CSS、JSのみのアプリをデプロイしようと思い
Herokuでアプリを作成し、デプロイしましたが
下記エラーが出てデプロイできませんでした。
-----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/php.tgz
! ERROR: Application not supported by this buildpack!
!
! The 'heroku/php' buildpack is set on this application, but was
! unable to detect a PHP codebase.
!
! A PHP app on Heroku requires a 'composer.json' at the root of
! the directory structure, or an 'index.php' for legacy behavior.
!
! If you are trying to deploy a PHP application, ensure that one
! of these files is present at the top level directory.
!
! If you are trying to deploy an application written in another
! language, you need to change the list of buildpacks set on your
! Heroku app using the 'heroku buildpacks' command.
!
! For more information, refer to the following documentation:
! https://devcenter.heroku.com/articles/buildpacks
! https://devcenter.heroku.com/articles/php-support#activation
More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
! Push failed
な、、なが、、、
ってなりましたがとりあえずGoogle先生に翻訳頼みました。
読み解いてみると、どうやら
「アプリケーションはこのビルドパックでサポートされていません!
'heroku / php'ビルドパックはこのアプリケーションに設定されていますが、
PHPコードベースを検出できません。
HerokuのPHPアプリでは、のルートに「composer.json」が必要です。
ディレクトリ構造、またはレガシー動作の場合は「index.php」。」
的なことをいうてます。
##解決法
index.phpとcomposer.jsonのファイルを新たに作って、
Gitにプッシュした後、デプロイしたら解決しました。
ファイルの中身はこんな感じです。
<?php include_once("index.html"); ?>
{}
どうやら、HTMLベースのサイトだと、Herokuがアプリとして認識してくれない為、このようなエラーが出るようです。
index.phpとcomposer.jsonを作ることでアプリと認識してもらえ、無事デプロイできました。
##まとめ
二回ほどこのエラーを経験して「あっ、そうだった そうだった」となったので、この記事を書くことで自分の頭に今叩き込めた気がします。気だけです。