半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

HerokuにDropBox経由でコードを上げてインターネットにPHPのコードを共有する

大学の課題とかでPHPのコードを書いて、おもしろサービスが出来たら折角なので友達とかに触って欲しくなることもあると思う。でもXAMPPとかでPHPの開発を行っていると、そういったことは同じネットワーク上にいないと出来ない。FacebookTwitterなどのWebサービスのように、どこからでもアクセスできるようにするための記事。

Heroku

HerokuというのはPHPRubyPythonなどで書いたさまざまなアプリケーションを簡単に公開できるWebサービス。サーバーの構築といったそういう知識は要らず、コードを放り投げるだけでよしなにやってくれて便利。

今までこのサービスを使うには、gitというバージョン管理システムを使ってコードをアップロードしなくてはならなかったが、最近DropBox経由でコードをアップロードできるようになった。これを使えば、簡単にHerokuが使える。

やり方

前置きはここまで。やり方を説明する。まず、PHPのコードを用意する。今回は適当にHelloworldするだけの簡単なPHPのファイル。

<?php
  echo "Hello, heroku!";
?>

Herokuに登録

Heroku | Sign upから、Herokuに登録する。メールアドレス等を入力して送信すると、入力したメールアドレスに確認メールが来ているはずなので確認する。諸々終わると、ダッシュボードにアクセスできる。

アプリケーションを作成

右上のプラスマークを入力して初めてのアプリケーションを登録する。

f:id:mactkg:20141217173025p:plain

App nameには分かりやすい名前を入力しておくと便利。ここではmactkg-dropbox-exampleとした。他に取られている名前は取得できない。記入が済んだら、Create Appを押す。

f:id:mactkg:20141217181445p:plain

DropBoxとの連携

アプリケーションが無事作成できると、作成したアプリケーションのページヘ進む。赤く囲んだDropBoxボタンがあるはずで、そこをクリックする。

f:id:mactkg:20141217181535p:plain

Connect to DropBoxをクリックして、DropBoxとHerokuの連携をする。

接続が完了すると、「Connected to Dropbox」にチェックマークが付き、"Connected Folder"の部分に同期に使うフォルダが表示される。僕の場合は Dropbox/Apps/heroku/mactkg-dropbox-exampleだった。

コードを共有

DropBoxでコードを共有する。先ほど表示された"Connected Folder"に必要なファイル一式を入れる。今回はデモ用として用意しておいたこのファイルをZipで落として解凍し入れてみて欲しい。

同期が完了したら、Herokuのページに戻って、Deployを行う。Deployは、更新をサーバーに反映させること。

f:id:mactkg:20141222020243p:plain

図のように、適当に変更点などを記入してdeployボタンを押す。うまくいくはず。

結果

https://mactkg-dropbox-example.herokuapp.com/

できました。ワーイ。ちなみに、長時間アクセスしていないとWebアプリがシャットダウンされるので、長時間あけた後にアクセスすると表示されるまでに時間が掛かるはず。

今後

例えばSQLiteとか使いたい時どうするのとか、ファイル保存したいんだけどみたいな話があると思うんですけど、それはまだあんまり調べてないので書かない。でも確かHerokuはSQLite対応してなかったと思うので、PostgreSQLとかに切り替える必要があると思う。PDO使っててそんなに変なことやってないならそんなに問題無さそうな気もする。とりあえず共有できたということで。逆に出来たら誰か報告すると良いのではないでしょうか。

feature-work

Heroku + PHP から Heroku Postgres に接続する - Qiita