Heroku de PHP

記事タイトルとURLをコピーする

プログラマの新井です。

今日はHerokuでBuildpackを使いPHPを動かします。

Buildpackとは

公式ページ

Buldpacks | Heroku Dev Center

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とか色々衝撃でした。

こうやってユーザーが対応言語増やせる仕組みは強みですね。