HerokuにPHPをデプロイしてDBと連携する
TCP/IP

HTTP通信

Heroku
(Webサーバ/PHP)

 アプリとHeroku間でHTTP通信を
行う
 HerokuのアドオンClearDBを使っ
てMySQLからデータを取得/更新
する

ClearDB
(MySQL...
 Herokuのアカウント
 Herokuのツールキット(CLI)
 https://toolbelt.heroku.com/

 MySQL Workbench
 http://www.mysql.com/products/work...
 C:xampphtdocsxampp に
pubilcフォルダを作成し、その
中にindex.phpファイルを作成す
る
 index.phpの中身
 <?php phpinfo(); ?>

 xamppのコンソールからApache...
 コマンドプロンプトで
C:xampphtdocsxampp
する
 以下コマンドを叩く

に移動

 git init
 git add public/index.php
 git commit -m 'init'

 Sourc...
 コマンドプロンプトでHerokuに
ログイン
 heroku login

 Herokuプロジェクトを作成する。
その際に、PHPが使用出来るよ
うに設定する
 heroku create --buildpack
https://g...
 MySQLを使うにはClearDBという
Addonを使う
 HerokuのWeb画面のAddonから
も追加出来るが、CLIでやる場合
は以下のコマンドを叩く
 heroku addons:add cleardb:ignite --a...
 MySQL Workbenchをインス
トールする
 http://www.mysql.com/products/workbe
nch/

 先ほど取得した情報を基に入力
していく。ポートは3306のま
ま。
 入力出来たらTest ...
 コード例
<?php
$url=parse_url(getenv("CLEARDB_DATABASE_URL"));
$server = $url["host"];
$username = $url["user"];
$password =...
 herokuでphp!
 http://tech.aainc.co.jp/archives/3258
Upcoming SlideShare
Loading in …5
×

ネットワーク第9回

830 views

Published on

HerokuでPHPをデプロイしてMySQLと連携する

  • Be the first to comment

  • Be the first to like this

ネットワーク第9回

  1. 1. HerokuにPHPをデプロイしてDBと連携する
  2. 2. TCP/IP HTTP通信 Heroku (Webサーバ/PHP)  アプリとHeroku間でHTTP通信を 行う  HerokuのアドオンClearDBを使っ てMySQLからデータを取得/更新 する ClearDB (MySQL)
  3. 3.  Herokuのアカウント  Herokuのツールキット(CLI)  https://toolbelt.heroku.com/  MySQL Workbench  http://www.mysql.com/products/workbe nch/  あれば便利なもの  SourceTree  http://www.sourcetreeapp.com/
  4. 4.  C:xampphtdocsxampp に pubilcフォルダを作成し、その 中にindex.phpファイルを作成す る  index.phpの中身  <?php phpinfo(); ?>  xamppのコンソールからApache を起動して、 http://localhost/xampp/public/ind ex.php にアクセス  phpinfoが表示されればOK
  5. 5.  コマンドプロンプトで C:xampphtdocsxampp する  以下コマンドを叩く に移動  git init  git add public/index.php  git commit -m 'init'  SourceTreeを使用するとGUIで操 作出来るので便利  新規リポジトリ作成で、 C:xampphtdocsxamppを指定し、コ ミット対象のファイルをステージング にドラッグアンドドロップしてcommit する
  6. 6.  コマンドプロンプトでHerokuに ログイン  heroku login  Herokuプロジェクトを作成する。 その際に、PHPが使用出来るよ うに設定する  heroku create --buildpack https://github.com/winglian/herokubuildpack-php -s cedar  heroku config:set WWWROOT=/public  Herokuにpushする  git push heroku master  Heroku上にpushし終わったら、 ブラウザを開いて確認。phpinfo の表示ができればOK  heroku open  SourceTreeの場合は、リモート 先にHerokuを追加する
  7. 7.  MySQLを使うにはClearDBという Addonを使う  HerokuのWeb画面のAddonから も追加出来るが、CLIでやる場合 は以下のコマンドを叩く  heroku addons:add cleardb:ignite --app appname  appname は、xxx.herokuapp.com のxxx の部分  追加したMySQLの情報を取得す る  heroku config --app appname | grep CLEARDB_DATABASE_URL  取得したDBの情報は以下のような形  CLEARDB_DATABASE_URL: mysql://{username}:{password}@{hostna me}/{dbname}?reconnect=true  ※ちなみに、phpinfoでも記述されてい る
  8. 8.  MySQL Workbenchをインス トールする  http://www.mysql.com/products/workbe nch/  先ほど取得した情報を基に入力 していく。ポートは3306のま ま。  入力出来たらTest Connectionを クリックし、成功すればOK  設定したconnectionがホームに できるのでダブルクリックで開 く  必要なテーブルを作成する
  9. 9.  コード例 <?php $url=parse_url(getenv("CLEARDB_DATABASE_URL")); $server = $url["host"]; $username = $url["user"]; $password = $url["pass"]; $db = substr($url["path"],1); mysql_connect($server, $username, $password); mysql_select_db($db); // SQLを発行する $rs=mysql_query("select * from people" ); // 取得したデータを表示する while($dat=mysql_fetch_assoc($rs)){ echo "[id]:".$dat["id"]." [name]:".$dat["name"]."<br />"; }; ?>
  10. 10.  herokuでphp!  http://tech.aainc.co.jp/archives/3258

×