ネットワーク第9回

780 views
628 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
780
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ネットワーク第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

×