Weitere ähnliche Inhalte Ähnlich wie 4時間耐久 PHP on Heroku (20) Mehr von Yusuke Ando (20) 4時間耐久 PHP on Heroku4. 本日の対象者
PHPを使っている
Facebookアプリを作りたい
Herokuを使いたい
そんな皆さん
PHP on Heroku / Yusuke Ando (@yando)
12. メニュー画面
アプリの作成
作成済アプリ
が出る場所
PHP on Heroku / Yusuke Ando (@yando)
13. アプリの命名
チェックを入れると
Herokuアプリ化
PHP on Heroku / Yusuke Ando (@yando)
15. これでデプロイ完了
アプリへ
PHP on Heroku / Yusuke Ando (@yando)
17. ログイン時に権限確認
ここが大事!
PHP on Heroku / Yusuke Ando (@yando)
18. ログイン成功
各種情報を取得
PHP on Heroku / Yusuke Ando (@yando)
20. gitの状況
gitリポジトリ
修正 修正
コード
修正 dyno
修正 修正
ローカル Heroku
pushでコードを反映する
PHP on Heroku / Yusuke Ando (@yando)
22. アドレスを確認
gitリポジトリのアドレス
PHP on Heroku / Yusuke Ando (@yando)
29. ローカルファイル
一応、書き込める
PHP on Heroku / Yusuke Ando (@yando)
31. index.phpが無い
$ git mv index.php index2.php
$ git commit -m "move"
[master 65b0921] move
1 files changed, 0 insertions(+), 0 deletions(-)
rename index.php => index2.php (100%)
$ git push heroku master
Counting objects: 3, done.
Writing objects: 100% (2/2), 228 bytes, done.
Total 2 (delta 0), reused 0 (delta 0)
-----> Heroku receiving push
! Heroku push rejected, no Cedar-supported app detected
To git@heroku.com:stark-warrior-3088.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:stark-warrior-3088.git'
pushできない
PHP on Heroku / Yusuke Ando (@yando)
32. 東海岸は遠い
1 10.200 ms 2.443 ms 10.540 ms
2 ***
3 14.313 ms 11.478 ms 12.616 ms
4 10.042 ms 12.934 ms 12.804 ms
5 12.451 ms 14.936 ms 17.440 ms
6 te4-4-403.gw2.nrt2.asianetcom.net (203.192.150.125) 13.373 ms 16.648 ms 18.423 ms
7 gi0-0-0.cr1.nrt1.asianetcom.net (202.147.1.62) 17.052 ms 34.160 ms 16.097 ms
8 te0-0-0-4.gw1.lax3.asianetcom.net (202.147.61.169) 129.748 ms 132.160 ms 129.538 ms
9 be1.gw2.lax3.asianetcom.net (202.147.61.162) 124.365 ms 123.194 ms 123.215 ms
10 equinix02-iad2.amazon.com (206.223.115.35) 182.967 ms 192.914 ms 187.884 ms
11 72.21.220.45 (72.21.220.45) 200.332 ms
72.21.220.43 (72.21.220.43) 193.632 ms
205.251.245.5 (205.251.245.5) 197.197 ms
12 205.251.245.47 (205.251.245.47) 192.199 ms 195.086 ms
72.21.222.155 (72.21.222.155) 367.567 ms
13 216.182.224.71 (216.182.224.71) 193.768 ms
216.182.224.203 (216.182.224.203) 188.929 ms
216.182.224.207 (216.182.224.207) 204.856 ms
14 * * *
15 * * *
16 * * *
17 * * *
PHP on Heroku / Yusuke Ando (@yando)
38. 改良されたbuildpack
•新規アプリの場合
$heroku create --buildpack https://github.com/winglian/heroku-buildpack-php
-s cedar
•既存アプリの場合は変更
$heroku config:add BUILDPACK_URL=https://github.com/winglian/heroku-
buildpack-php
PHP on Heroku / Yusuke Ando (@yando)
49. DB設定の仕組み
•環境変数にDSN文字列が設定される
•Rubyが前提となった形式
•PHPから利用する場合は適宜、解析
postgres://ajkilbabda:4E7Nr-
gtIcIk9qCSABBB8@ec2-174-129-20-245.compute-1.ama
zonaws.com/ajkilbxgca
postgres://[user]:[pass]@[host]/[database]
PHP on Heroku / Yusuke Ando (@yando)
51. 練習 DBを使ってみる
•heroku addons:add shared-database
•phppgadminをgit submodule add
•デプロイしてWebからの管理を確認
$git submodule add git://github.com/yandod/phppgadmin-heroku.git
PHP on Heroku / Yusuke Ando (@yando)
53. FBアプリ開発の基礎
App ID / App Secret
PHP SDK
graph API / scope
social plugin
PHP on Heroku / Yusuke Ando (@yando)
55. Website
認証などにFacebookを利用
PHP on Heroku / Yusuke Ando (@yando)
56. Facebook内アプリ
Canvasで動作
PHP on Heroku / Yusuke Ando (@yando)
59. App ID / Secret
•FacebookのAPIの利用に必要
•開発者アプリから確認可能
•1クリックで作成されたアプリでは環
境変数を使って受け渡している
$ heroku config
=== Config Vars for vivid-rain-6470
FACEBOOK_APP_ID: 425865070767611
FACEBOOK_SECRET: c50346e471016be2fbd3572fd2de1f11
PHP on Heroku / Yusuke Ando (@yando)
63. 認証処理の例
ログイン済みならID取得
APIをコール
ログインURLの生成
PHP on Heroku / Yusuke Ando (@yando)
64. 認証処理の例
Facebookに遷移して戻る
PHP on Heroku / Yusuke Ando (@yando)
65. 練習 apiを使ってみる
•ザッカーバーグの情報を画面に表示
•ログインして、自分の情報も表示
•index.phpは変更しないで別ファイル
•SDKのサンプルを参考
https://github.com/facebook/facebook-php-sdk/
blob/master/examples/example.php
PHP on Heroku / Yusuke Ando (@yando)
68. デフォルトの状態
誕生日やemailが無い
PHP on Heroku / Yusuke Ando (@yando)
70. scope指定の例
カンマ区切りで指定
権限付きログインURLの生成
PHP on Heroku / Yusuke Ando (@yando)
71. scope指定の例
確認事項が増える!
PHP on Heroku / Yusuke Ando (@yando)