チョーお手軽になったGAEでPHPを使ってみた話


# チョーお手軽になったGAEでPHPを使ってみた話

## GAEって?

コレ(´v｀)

[https://console.cloud.google.com/?hl=ja&_ga=2.164364735.-1445835340.1509336477](https://console.cloud.google.com/?hl=ja&_ga=2.164364735.-1445835340.1509336477)

![ss0001.png](https://qiita-image-store.s3.amazonaws.com/0/151630/bf629ecf-2bc2-975e-7c9d-0571d6541384.png)

「Google App Engine」 略して**GAE**
### Googleが提供している、サーバレスな素敵サービスなのです！


## GAEの何がスゴイのか？

**サーバレスでしかもちょーお手軽！**なホスティングサービス  
実はGAEは歴史も長いし、何より**Googleのサービス**ので、安心感もある！  
AWSが登場するまでは、Cloud PaaSのパイオニア的な存在だった！  
そして最近リニューアルが急激にすすみ、かなり使いやすくなりつつ  
僕の**会社で馴染みの言語のPHPが使えるようになったので、会社で注目度が一気にアップ！！**  


## けど・・・お高いんでしょ？

**いいえ、イキナリ365日有効な$300分(約￥34,000円分)のクーポンがついてきて**  

![ss0003.png](https://qiita-image-store.s3.amazonaws.com/0/151630/64b9b6d9-7234-4595-99dc-23412d0e93fc.png)

**その後も無料枠がちょー充実していてメチャ安い**

[詳しくはコチラ ⇒ https://cloud.google.com/free/?hl=ja](https://cloud.google.com/free/?hl=ja)

と、言うことで使って見ることにしました！


## 登録はとても簡単！

GAEは「Google Cloud Platform」のサービスの一つ  
なので「Google Cloud Platform」に先ず登録をする

[https://cloud.google.com]()

![ss0002.png](https://qiita-image-store.s3.amazonaws.com/0/151630/6c579164-2cd5-fc19-5c0e-1e55a183bcb0.png)


## GAEでPHPを使えるようにするのも簡単！

「Google Cloud Platform」に登録したら、GAE用のプロジェクトを作る

![ss0011.png](https://qiita-image-store.s3.amazonaws.com/0/151630/40f570dc-2985-dd2c-2bb5-cf30e1b89386.png)

暫くまってるとプロジェクトが作成されるので、プロジェクトの「App Engine」メニューいき
プロジェクト内に「App Engine」を作成

![ss0013.png](https://qiita-image-store.s3.amazonaws.com/0/151630/c6d69ea6-562d-092e-c23d-80d4f5ac7f32.png)

今回はPHPなので、言語はPHPを選択する

![ss0014.png](https://qiita-image-store.s3.amazonaws.com/0/151630/a7dffb7e-d3d0-1512-7e64-c9d7a7ca3b07.png)

**なんと日本のリージョンも使えるようになっている！？**

![ss0015.png](https://qiita-image-store.s3.amazonaws.com/0/151630/29a28515-5eec-5de9-93bb-a34c18f8802f.png)

**音速で日本を選択**して、「Google App Engine」の設定は完了！


## 早速使うぜGAE！

設定した「Google App Engine」にファイルを上げて、実際にURL経由で実行する手順もとても簡単！

[https://cloud.google.com/sdk/docs/](https://cloud.google.com/sdk/docs/)からSDKをダウンロードして適当な場所に解凍

![ss0021.png](https://qiita-image-store.s3.amazonaws.com/0/151630/fcb70630-9892-5e10-118b-ee586c37854e.png)

僕は「ユーザー」ディレクトリの下に置きました(´v｀)

で、インストールコマンドを実行

```
./google-cloud-sdk/install.sh
source ~/.bash_profile
```

色々聞かれるので答えて行くとSDKのインストールは完了！

後はアプリケーションを作ってゆくだけ！

### 先ず好きなところにフォルダ作ってサーバーの設定を書く

~/workspace/phptest/app.yaml

```
runtime: php55
api_version: 1

handlers:
- url: /
  script: index.php 
- url: /(.*).php
  script: \1.php 

automatic_scaling:
  min_idle_instances: 1
  max_idle_instances: 1
  max_pending_latency: 2000ms

```

設定ファイルの書き方は [https://cloud.google.com/appengine/docs/standard/php/config/appref](https://cloud.google.com/appengine/docs/standard/php/config/appref) この当たりを参考に(´v｀)

同じディレクトリにGAE用のphp.iniも置いちゃいます

~/workspace/phptest/php.ini

	google_app_engine.enable_functions = "phpversion, phpinfo"

PHPInfoを実行出来るようにする為だけの設定なので、別になくても良いです(´v｀)

で、PHPファイルを置く

~/workspace/phptest/info.php

```
<?php

phpinfo();

?>
```

そして最後にGAEへファイルを上げて準備完了！

	cd ~/workspace/phptest/

移動しておいて、デプロイ(ファイルを上げる)コマンド実行！

	gcloud app deploy


```
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 0 files to Google Cloud Storage                ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...done.                                                                                                                                               
Waiting for operation [apps/xxxx/operations/xxxx-xxxx-xxxx-xxxx-xxxx] to complete...done.                                                               
Updating service [default]...done.                                                                                                                                               
Deployed service [default] to [https://xxxxx.appspot.com]
```

こんなんになっていればデプロイ成功！

コマンド実行結果にデプロイしたPHPをブラウザから実行出来るURLが記載されているので  

### 後は、なんとそこにアクセスして実行するだけ！

で、https://xxxxx.appspot.com/info.php にアクセスしてみると・・・

![ss0022.png](https://qiita-image-store.s3.amazonaws.com/0/151630/a1d08cf5-664a-fa7d-b165-804347ec74af.png)

**PHPInfoが見れたああああ！！**

なんか"Google AppEngine PGP Runtime SAPI"とかそれっぽいの書いてあるーーー！！

### スゲェ！！ めっさ簡単！！？ しかもHTTPSやん！！！

**マーベラスですね！**

### 因みにローカル環境での実行・確認もメチャ簡単

	cd ~/workspace/phptest/

して

	dev_appserver.py .
 
ってすると・・・

![ss0024.png](https://qiita-image-store.s3.amazonaws.com/0/151630/dea04770-ec93-394c-9436-7d84513f8e40.png)

ってなって http://localhost:8080 でローカルサーバが起動する

なので、http://localhost:8080/info.php にアクセスしてみると・・・

![ss0025.png](https://qiita-image-store.s3.amazonaws.com/0/151630/4dc5be9d-e0d3-6d5a-7645-150d70c7b84c.png)

### スッゲェ！！ めちゃめちゃ簡単！！

これなら**ガンガンローカル開発して、ガンガンサーバにデプロイ出来る**しイイね！(ﾟ∀ﾟ)d


## GAEで夢と希望が広がるね！

今回は説明しきれませんでしたが、**PHP7を使ったりMySQLライクならDBが使えたり、Dockerコンテナを使えるようになっていたり**と
色々進化しまくりつつ、どんどん簡単お手軽になっていく**GAEは今後も要注目**です！

是非触ってみて下さい(´v｀)  
参考になれば幸いです。