プログラマの新井です。
今日はHerokuでBuildpackを使いPHPを動かします。
Buildpackとは
公式ページ
Heroku | Buildpacks:Heroku for Everything
簡単に言ってしまうとHerokuの上にコードを動かすプラットフォームを作成するイメージですね。
やってみる
準備
Herokuを利用するのでgemでいれましょう。
$ gem install heroku
デプロイするコードを作成します。PHPの動作確認といえば定番のphpinfo()です。
$ mkdir heroku-de-php
$ cd heroku-de-php
$ echo '<?php phpinfo() ?>' > index.php
$ git init
$ git commit -m 'initial commit'
Herokuのアプリケーションを作成します。今回は公式リポジトリで配布されているBuildpackを利用します。(公式リポジトリですが公式ページには記載されてない……)
$ heroku create -s cedar --buildpack https://github.com/heroku/heroku-buildpack-php
デプロイします。
$ git push heroku master
デプロイが終わったら確認してみましょう。
$ heroku open
見慣れたphpinfo()の画面が表示されるかと思います。
注意点
公式のリポジトリで配布されてるPHPのBuildpackはmbstringがなかったりなどそのままではあまり実用的ではありません。
Pull Requestを投げている方のリポジトリでは有効になってるようなので使ってみるとよいかもしれません。
まとめ
RubyやNode.jsのPaaSというイメージが強いですがBuildpackを利用することにより、多種多様な言語をHeroku上で動かすことができます。
公式にも サードパーティのBuildpack一覧があるので見てみると面白いです。EmacsとかGoとか色々衝撃でした。
こうやってユーザーが対応言語増やせる仕組みは強みですね。