でも最近になって触るような機会とPaaSの流行りがやっと来た感があるので試してみた。もうこんな記事はちまたに出回りすぎるぐらい出ているんだけど。
ちょっと前(2015年5月)にプライス設定が見直しになってたみたいで今は無料利用での制限が色々と厳しくなってる模様。それでも開発の時やテスト的には全然使えると思う。
- SLEEPS AFTER 30 MINS OF INACTIVITY
- 30分稼働がないとスリープしてしまう
- MUST SLEEP 6 HOURS IN A 24 HOUR PERIOD
- 24時間中、6時間はスリープする必要あり
- CUSTOM DOMAINS
- 独自ドメインが使える
- 512 MB RAM │ 1 web/1 worker
- dynoと呼ばれるプロセス?コンテナ?みたいな考えのWebタイプとWorkerタイプが1つずつ使える
- Dynos and the Dyno Managerに書いてあった
さっそくサインアップを済ませてログイン。ダッシュボードは本日時点でこんな感じ。
"PHP Get Started"を選ぶ。
StartまでのTutorialが出てきた。
Introduction
This tutorial will have you deploying a PHP app in minutes.
Hang on for a few more minutes to learn how it all works, so you can make the most out of Heroku.
The tutorial assumes that you have:
・a free Heroku account.
・PHP installed locally.
・Composer installed.
はじめにPCにHerokuを使うために"Heroku Toolbelt"なるものをインストールしなきゃならんらしい。なのでこれをダウンロードしてインストールする。Windows版しかなかったら暴れているところだが、無事Mac版も用意されていた。
Set up
In this step you will install the Heroku Toolbelt. This provides you access to the Heroku Command Line Interface (CLI), which can be used for managing and scaling your applications and add-ons. A key part of the toolbelt is the heroku local command, which can help in running your applications locally.
Once installed, you can use the heroku command from your command shell.
Log in using the email address and password you used when creating your Heroku account:
pkgをダウンロードし、インストール完了したらおもむろにTerminalを開いてheroku loginと打ってコマンド実行。
$ heroku login heroku-cli: Installing Toolbelt v4... done For more information on Toolbelt v4: https://github.com/heroku/heroku-cli heroku-cli: Adding dependencies... done heroku-cli: Installing core plugins... done Enter your Heroku credentials. Email: hogehoge@example.com Password (typing will be hidden): Logged in as hogehoge@example.com $
成功したみたいだけれど、恐ろしく成功感がない。次はGitHubからサンプルソースを引っ張ってこいみたいなことが書いてあるので、適当な場所にHeroku用のフォルダを作ってそこで作業することにした。
Prepare the app
In this step, you will prepare a simple application that can be deployed.
Execute the following commands to clone the sample application:
$ git clone https://github.com/heroku/php-getting-started.gitYou now have a functioning git repository that contains a simple application as well as a composer.json file. Make sure you've installed Composer. Heroku uses Composer for dependency management in PHP projects, and the composer.json file indicates to Heroku that your application is written in PHP.
$ cd php-getting-started
パッケージ管理にComposerを使っているみたい。だからComposer入れとけとか書いている。正直準備でだいぶだるい。
先にComposerをインストールする。
$ curl -sS https://getcomposer.org/installer | php Some settings on your machine may cause stability issues with Composer. If you encounter issues, try to change the following: The OpenSSL library (0.9.8zc) used by PHP does not support TLSv1.2 or TLSv1.1. If possible you should upgrade OpenSSL to version 1.0.1 or above. Downloading... Composer successfully installed to: /Users/fumio/Documents/HerokuProject/php-getting-started/composer.phar Use it: php composer.phar
/usr/local/binあたりに移動させる。
$mv composer.phar /usr/local/bin/composer
実行してこうなったら入ってるんじゃないかと思う。
$ composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.0-dev (cff35071b68e286f68ac64908c990c15b3ac4a0d) 2016-01-31 15:50:19
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this app
:
:
さてGitHubから引っ張ってくる。
$ git clone https://github.com/heroku/php-getting-started.git Cloning into 'php-getting-started'... remote: Counting objects: 148, done. remote: Total 148 (delta 0), reused 0 (delta 0), pack-reused 148 Receiving objects: 100% (148/148), 32.44 KiB | 0 bytes/s, done. Resolving deltas: 100% (55/55), done. Checking connectivity... done.
php-getting-startedの中身はこんな感じ。
$ ls -aFC
./ .git/ Procfile app.json composer.lock
../ .gitignore README.md composer.json web/
$ ls -aFC web/
./ ../ .htaccess images/ index.php* stylesheets/ views/
$ ls -aFC web/views/
./ ../ header.html index.twig layout.html nav.html
$ ls -aFC web/images/
./ ../ favicon.png lang-logo.png
$ ls -aFC web/stylesheets/
./ ../ main.css
index.phpの中身だけ見てみた。
require('../vendor/autoload.php'); $app = new Silex\Application(); $app['debug'] = true; // Register the monolog logging service $app->register(new Silex\Provider\MonologServiceProvider(), array( 'monolog.logfile' => 'php://stderr', )); // Register view rendering $app->register(new Silex\Provider\TwigServiceProvider(), array( 'twig.path' => __DIR__.'/views', )); // Our web handlers $app->get('/', function() use($app) { $app['monolog']->addDebug('logging output.'); return $app['twig']->render('index.twig'); }); $app->run();だめだ。今日はここまで!
0 件のコメント:
コメントを投稿