Submit Search
Upload
Heroku meets php
•
Download as PPTX, PDF
•
3 likes
•
1,079 views
mikakane
Follow
heroku meets php
Read less
Read more
Technology
Report
Share
Report
Share
1 of 39
Download now
Recommended
PHP matsuri 参加レポ
PHP matsuri 参加レポ
mikakane
ウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返って
Kohki Yamagiwa
ググリワードを探す話
ググリワードを探す話
toru ishikawa
俺 と 今年度 Civic Hack Night 運営
俺 と 今年度 Civic Hack Night 運営
Masayuki KaToH
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)
Satoshi Yamada
俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)
Masayuki KaToH
金沢アプリ塾 アプリ・オープンデータとライセンス
金沢アプリ塾 アプリ・オープンデータとライセンス
Masayuki KaToH
ITざっくばらん会
ITざっくばらん会
Masayuki KaToH
Recommended
PHP matsuri 参加レポ
PHP matsuri 参加レポ
mikakane
ウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返って
Kohki Yamagiwa
ググリワードを探す話
ググリワードを探す話
toru ishikawa
俺 と 今年度 Civic Hack Night 運営
俺 と 今年度 Civic Hack Night 運営
Masayuki KaToH
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)
Satoshi Yamada
俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)
Masayuki KaToH
金沢アプリ塾 アプリ・オープンデータとライセンス
金沢アプリ塾 アプリ・オープンデータとライセンス
Masayuki KaToH
ITざっくばらん会
ITざっくばらん会
Masayuki KaToH
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
Satoshi Yamada
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
y-uti
Ha4goもくもく報告2016年11月分
Ha4goもくもく報告2016年11月分
Masayuki KaToH
Requestsで始める5分前帰社
Requestsで始める5分前帰社
Satoshi Yamada
俺と Ha4go と さくらクラウド
俺と Ha4go と さくらクラウド
Masayuki KaToH
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Masataka Kono
pythonでemlファイルを扱う話
pythonでemlファイルを扱う話
Satoshi Yamada
俺とGitHub
俺とGitHub
Masayuki KaToH
歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事
Masataka Kono
今日から始めるC3.js
今日から始めるC3.js
Wataru Nakaseko
php.netの歩き方
php.netの歩き方
Rui Hirokawa
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Yuji Otani
Php conference 2010 final
Php conference 2010 final
hirookun
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
Takahiro Kujirai
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
y-uti
SharePoint 開発でできること 2019年9月版
SharePoint 開発でできること 2019年9月版
Hiroaki Oikawa
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
Tomoki Hasegawa
Fetch apiについて
Fetch apiについて
Masakazu Muraoka
HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?
sasezaki
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
20140902 HTML5認定試験紹介資料
20140902 HTML5認定試験紹介資料
leverages_event
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
More Related Content
What's hot
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
Satoshi Yamada
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
y-uti
Ha4goもくもく報告2016年11月分
Ha4goもくもく報告2016年11月分
Masayuki KaToH
Requestsで始める5分前帰社
Requestsで始める5分前帰社
Satoshi Yamada
俺と Ha4go と さくらクラウド
俺と Ha4go と さくらクラウド
Masayuki KaToH
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Masataka Kono
pythonでemlファイルを扱う話
pythonでemlファイルを扱う話
Satoshi Yamada
俺とGitHub
俺とGitHub
Masayuki KaToH
歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事
Masataka Kono
今日から始めるC3.js
今日から始めるC3.js
Wataru Nakaseko
What's hot
(10)
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
Ha4goもくもく報告2016年11月分
Ha4goもくもく報告2016年11月分
Requestsで始める5分前帰社
Requestsで始める5分前帰社
俺と Ha4go と さくらクラウド
俺と Ha4go と さくらクラウド
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
pythonでemlファイルを扱う話
pythonでemlファイルを扱う話
俺とGitHub
俺とGitHub
歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事
今日から始めるC3.js
今日から始めるC3.js
Similar to Heroku meets php
php.netの歩き方
php.netの歩き方
Rui Hirokawa
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Yuji Otani
Php conference 2010 final
Php conference 2010 final
hirookun
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
Takahiro Kujirai
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
y-uti
SharePoint 開発でできること 2019年9月版
SharePoint 開発でできること 2019年9月版
Hiroaki Oikawa
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
Tomoki Hasegawa
Fetch apiについて
Fetch apiについて
Masakazu Muraoka
HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?
sasezaki
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
20140902 HTML5認定試験紹介資料
20140902 HTML5認定試験紹介資料
leverages_event
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
PagodaBox
PagodaBox
Suzuki Masayuki
20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)
Takahiro Kujirai
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
johgus johgus
C#ユーザー会 //build/ まとめ(サーバー編)
C#ユーザー会 //build/ まとめ(サーバー編)
Keiji Kamebuchi
JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~
JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~
MPN Japan
Fiorano SOA PlatformとBP Logixのデータ連携事例
Fiorano SOA PlatformとBP Logixのデータ連携事例
アシストマイクロ株式会社
OSC2013@FUKUOKA
OSC2013@FUKUOKA
Ryuji Egashira
FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
Similar to Heroku meets php
(20)
php.netの歩き方
php.netの歩き方
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Php conference 2010 final
Php conference 2010 final
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
SharePoint 開発でできること 2019年9月版
SharePoint 開発でできること 2019年9月版
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
Fetch apiについて
Fetch apiについて
HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
20140902 HTML5認定試験紹介資料
20140902 HTML5認定試験紹介資料
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PagodaBox
PagodaBox
20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
C#ユーザー会 //build/ まとめ(サーバー編)
C#ユーザー会 //build/ まとめ(サーバー編)
JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~
JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~
Fiorano SOA PlatformとBP Logixのデータ連携事例
Fiorano SOA PlatformとBP Logixのデータ連携事例
OSC2013@FUKUOKA
OSC2013@FUKUOKA
FuelPHP活用事例
FuelPHP活用事例
Recently uploaded
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
Recently uploaded
(14)
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
Heroku meets php
1.
Heroku meets PHP 株式会社chatbox みかかね@mkkn_info PHPer
Loves Heroku #0 http://heroku-pug.connpass.com/event/20197/ 2015.10.15
2.
about me みかかね@mkkn_info #PHPer, フロントエンド #
株式会社chatbox 代表 #関西フロントエンドUG代表 PHPやフロントエンド、コミュニティ運営に興 味のあるメンバー募集中!! 詳細は Wantedly にて https://www.wantedly.com/projects/30531 facebook:後藤知宏 twitter: @mkkn_info
3.
Heroku
4.
PHP対応のPaaS
5.
PaaS
6.
PaaSとは、インターネットを利用したコンピュータの新しい利 用形態の1つである。 PaaSでは、ソフトウェアを構築および稼動させるための土台と なるプラットフォームを、インターネット経由のサービスとして 提供する。開発者は、プラットフォーム上で構築したサービスを 自分の顧客に提供することができる。 具体的には、インフラ、 DBMS、ユーザインタフェースなどのシステム開発手段となる ツールや、開発したシステムを運用するための環境をインター ネットを通じて「サービス」として提供し、月額使用料などの形 で収入を得る事業モデルである。 Wikipedia Platform
as a Service より
7.
/) ///) /,.=゙''"/ / i f
,.r='"-‐'つ____ こまけぇこたぁいいんだよ!! / / _,.-‐'~/⌒ ⌒\ / ,i ,二ニ⊃( ●). (●)\ / ノ il゙フ::::::⌒(__人__)⌒::::: \ ,イ「ト、 ,!,!| |r┬-| | / iトヾヽ_/ィ"\ `ー'´ /
8.
つまり、インフラ構築が楽になる。
9.
どれくらい楽になるか。
10.
it’s demo
11.
Heroku インフラ構築が楽になる。 Git管理のpushして即デプロイ サーバの構築に係る作業はほぼゼロ サーバの設定確認や調整はWeb画面のほか、 Heroku toolbeltと呼ばれるCLIツールで行える。 https://toolbelt.heroku.com/
12.
Herokuおいしいところ # addon 等を使用して色々なミドルウェアを 簡単に用意できる。 #
サーバの調整も手軽に行える。 # 無料から利用できるのでテストサーバに最適。 # git連携でデプロイがより楽になる。 #自然とスケーラブルなPHPの書き方が身につく。
13.
Heroku Addons Heroku上で利用可能な 様々なミドルウェアを提供するサービス データベースやRedis,ログ監視, Storage や
Mailなどのサービスが簡単に利用可能に HerokuのSaaS的な側面 https://addons.heroku.com/
14.
Heroku Storage # MySQL
( ClearDB , JawsDB) # Postgres ( Heroku Postgres ) # Redis (OpenRedis, Redis To Go, Redis Cloud) # Memcached # FileStorage (FilePicker, Cloudinary) もちろん構築はボタン一つでインフラの知識は不要 バックアップもスケールもお金で解決!!
15.
Heroku Tuning PaaSといえども多様なサーバ構成を選択可能 Addonを利用した構成からPHPの細かい調整まで。 そもそもherokuでは、 PHPに限らず多様な言語 &
Dockerをサポートする BuildpackやDockerデプロイを利用すれば無限の可能性
16.
Addons # cron ->
Heroku Scheduler # Monitoring -> New Relic # Logging -> papertrail # Mail -> sendgrid # SSL -> SSL SSHでyumを使って…という構成は取れないが、 Addonを使ってかなり多様な事はできるようになっている。
17.
PHPの構成 composer.json を利用してPHPの構成もセットアップ可能 composer.jsonのrequireに記載した項目はデプロイの際に自 動的にセットアップされる。 # php
version # php extention # dependency libraries
18.
力技 Buildpackを使用して、ビルドフェーズの構成はむりくり調 整可能な模様…? PHP環境のセットアップには公式のPHP用Buildpackが用い られている。 https://github.com/heroku/heroku-buildpack-php その他各種言語の公式BuildpackやAWS CLIなどの各種ライ ブラリをサポートする野良Buildpackなど様々なものを利用 可能。
19.
デプロイの仕組み heroku 上では composer.json
を検出してPHP用の Buildpackが自動的に採用される。 同様の理由で package.json があるとnode用の Buildpackが自動的に採用される。 (優先順位はPHPよりも上!!) 自動での認識がされない場合には以下のコマンドを 叩くと良い。 $ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-php
20.
Multi Buildpackの利用 MultiBuildpackを利用して、複数のBuildpackを利用 する事が可能。 Gitのルートに`.buildpacks`というファイルを置いて 利用するBuildpackのURLを複数記述していく。 $ heroku
buildpacks:set https://github.com/heroku/heroku-buildpack-multi https://github.com/heroku/heroku-buildpack-nodejs https://github.com/heroku/heroku-buildpack-php npmでフロントビルド系の処理をしながらPHPアプ リケーションを起動したい場合など。
21.
Heroku Pricing つい最近料金体系の変更がありました。 料金に関する古いブログ記事の内容には注意 無料プランでは、6時間のスリープが強制に それでも月 $7
支払えば スケール可能なPaaSクラウドが運用可能になるのは十分魅力 的? https://www.heroku.com/pricing
22.
Heroku Pricing # 課金の基準はdyno基準で #
WorkerインスタンスはPostgres ( Heroku Postgres ) # Redis (OpenRedis, Redis To Go, Redis Cloud) # Memcached # FileStorage (FilePicker, Cloudinary) もちろん構築はボタン一つでインフラの知識は不要 バックアップもスケールもお金で解決!!
23.
dyno # herokuにおけるインスタンスの数え方 #Webアプリケーション用に立てるWeb Dyno #バックグラウンド処理などで用いる
Worker Dyno #Schedulerやsshなどで使用するOne Off Dyno 新料金体制で One Off Dyno については無料になった らしい(もうSSH接続で時間を気にしなくていい!!) 使用するDynoの性能、数で料金が変わる。
24.
Heroku Free Dyno #
30分アクセスが無いとSLEEPに入る # 24時間で 6時間 は必ずSLEEPするようになった。 #Web dyno x 1 #Worker dyno も一つ無料でついてくる。 新料金体制で ssh で入る dyno や schedulerから起動 されるone off dynoについては無料になったらしい。
25.
Heroku with Github Github連携でHerokuのデプロイはより便利に Herokuの権限管理周りをGithubで一元管理できるので便利 GithubとHerokuにわざわざ二回pushする手間が省ける。 指定したブランチへのpushをキーに、 herokuのデプロイを自動的に行なってくれる。
26.
Heroku Deploy Hooks #
HipChat へのメッセージ送信 #Emailの送信 #IRC へのメッセージ送信 #HTTP Post へのリクエスト送信 # その他Basecamp,Campfireといったサービス連携も Heroku の無料addon Deployに対応して複数のHook処理を指定できる。
27.
Heroku with PHP PHP
is not Legacy. 最近ではフレームワークでも スケールを意識した機能をサポートしているのが当たり前に PHPの今風な書き方、の機能を インフラ構築に関する学習コストゼロでフル活用する。 PHPアプリケーションの今風で柔軟な構築手法を知る。 クラウドを見据えたアプリケーション構築
28.
What’s Scalable # 設定をアプリケーション外部から注入可能 #
実装をアプリケーション内部で切り替え可能 ローカル環境、テスト環境、商用環境などサーバの厚 生に応じて、それぞれに最適な異なる処理を一つの ソースで実現する。 環境に応じて、異なる値を設定値として利用できる。 設定値を利用して、ログやDBなどの処理を自動的に 切り替えることが可能。
29.
実装の切り替え # Database 関連 #
Session , Cache 関連 # Upload系のデータ、Dump関連のデータ # ログデータの出力先 他にも外部サービスに依存するメール送信などの処理 も環境に応じて切り替え可能だとかなり便利。 ストレージ周りの切り替えはかなり重要になってくる。
30.
dotenv PHPにおける「環境による設定値の切り替え」 .env というdotファイルを利用して システム環境変数を上書きする仕組み 主にローカル開発環境で利用する。 Laravel系列のフレームワークでは標準的に用いられている。 https://github.com/vlucas/phpdotenv
31.
dotenvの運用 ローカル開発環境での構築時に環境変数をアプリケー ションに合わせて触るのは辛いので、.envファイルに 値を書いて、dotenvで実行時のみ`$_SERVER`変数を 上書きする。 → 本番サーバ等では .env
は白紙の状態で運用。 環境ごとに異なる値を環境変数から参照するようにシ ステムを構築していく。 → herokuの環境変数は `heroku config:set`で設定 → 環境変数は `$_SERVER`から取得可能
32.
実装の切り替え PHPにはインターフェイスがある。 必要な機能の振る舞いをインターフェイスで書いて、 処理をサーバ毎に振り分けていく ログ系の集積やメールの送信など http://tanakahisateru.hatenablog.jp/entry/20120228/1330431278
33.
実装の切り替え 環境変数に応じて if 文で処理のブロックを切り替え ていくのは、シンプルだがコードが見づらい。 $env
= env(“APP_ENV”); If($env === “local”) { // // ローカル環境での処理 // }elseif( $env=== “stage”) { // //テスト環境での処理 // ….
34.
実装の切り替え 環境変数の値をキーに処理クラスを生成するような サービスを定義し、 インターフェイスで共通化されたメソドを呼び出す。 $mailSender = MailSender::create(env(“APP_MAILSENDER”)); $mailSender->send(); あとから環境を追加したり、環境ごとに異なる処理 を入れたくなった時などに変更がスムーズ。
35.
Heroku Trouble Shooting PaaSに慣れていないと色々詰みポイントは多い。 作ったファイルが消えるなど インスタンス周りのトラブルはやっぱり多い。 普通にSSHで入れるVPS環境と違い、 HerokuのWeb
Dynoにはsshで入ることすら不可。 あと、リージョン外からのアクセスはやはり遅い (ローカルからDBへの接続など)
36.
Let’s Begin!! # 少ない学習コストでクラウドに触れてみたい。 #煩わしいインフラ管理の手間から開放されたい。 #俺はインフラの人じゃない!!
PHPエンジニアだ!! とりあえず無料から利用可能なので、デモサイトや Slack Botなどのテストアプリに。 こんな人にオススメ。
37.
わからないこと、困ったことは、 Heroku PUG (Heroku PHP
User Group) に相談してみよう!!
38.
新しく知ったこと、気づいたことは Heroku PUG (Heroku PHP
User Group) で発表してみよう!!
39.
是非、よろしくお願いします。
Download now