無料試用期間を利用してGoogleCloudPlatformを触りだして、とりあえずAppEngineでPHPを試してみようと『今すぐAppEngineを試す』てところで言われた通りに進めているとエラーが出て中々思う様に行かなかった為、とりあえずメモ。
ちなみに、PHPは今までOn/Offともに触ったことがない。
対象
- GoogleCloudPlatformのAppEngineでPHP動かしたい人。
環境
- Windows7 Home SP1
- GoogleCloudPlatformの60日試用期間中
手順
GoogleCloudPlatformでAppEngineを作成する。
GoogleDevelopersConsoleのTOP画面でプロジェクトを作成する。 プロジェクト名はとりあえずhelloworld-20150702(プロジェクトIDも同じ)で作る。 作成する際に詳細設定があるが、特に気にしない。
もちろん、プロジェクト名はお好きなものでどうぞ。
AppEngineお試しページへ
プロジェクトを選択してコンピュート/App Engine/ダッシュボード
に移動すると、
- ドキュメントライブラリにアクセス
- 今すぐApp Engineを試す
の2つがある。
とりあえず動かす環境を作りたいという気持ちからすぐにでも出来そうな今すぐApp Engineを試す
を選択する。
これで今すぐGoogleAppEngineをお試し下さい
という、すぐにでも始められそうなページにたどり着く。
PHPのデプロイ
1.言語を選択します
PHPなのでPHPを選択。
2.スターターコードを確認します
Hello, world!
の部分を好きに変更できそうだけれど、特に変更できない。 とりあえずRunボタン的なのを押すとHello, world!
が表示されるのはわかる。
3.GOOGLE CLOUD SDKのインストール
言われるがままにダウンロードしてインストール。 そして、コマンドプロンプトを起動してGoogle Cloud PlatformにLoginする。
> gcloud auth login
上のコマンドを打ち込むとしばらくしてからGoogleのログイン画面に遷移する。 とりあえず承認。 コマンドプロンプトに戻るとログインしたアカウント等が表示されている。
次はAppEngineパッケージをインストールするらしいので、指示されるまま以下のコマンドを打ち込む。
> gcloud components update gae-python
落ちた。
GoogleCloudSDKがインストールされているディレクトリに対して権限が無いとか何とか書いている。 コマンドプロンプトを管理者権限で実行しなければならないらしい。
コマンドプロンプトを一旦終了して、管理者権限で再実行。 再Login。 そして先程実行できなかったコマンドを再実行する。 問題なく実行出来て、続行するか確認されるのでY
で続行。 Updateが始まるのでしばらく待つ。
Update Done!
と表示されれば、おそらく正常終了。
4.サンプルアプリのダウンロード
zipをダウンロードして適当なところへ解凍。 とりあえず、デスクトップで。
5.プロジェクトにデプロイ
先ほど解凍したディレクトリの内容をデプロイする。 指示される以下のコマンドを打ち込む。
> appcfg.py -A helloworld-20150702 update appengine-try-php
エラー。
appengine-try-php.yaml
が無いと怒られる。 カレントディレクトリの変更を忘れていた。 先ほど解凍したディレクトリの中に移動して、コマンドを再度実行。
エラー。
PHP5.4のアプリケーションはデプロイ出来ないらしい。 する場合は申請が必要(?)とか何とかというメッセージが表示される。 PHP5.4より上のバージョンを指定しなければならないらしい。 先程解凍したディレクトリの中に含まれるapp.yaml
を開く。
application: helloworld
version: 1
runtime: php
api_version: 1
handlers:
- url: /.*
script: helloworld.php
これのruntime
の部分をphp55
に書き換える。
application: helloworld
version: 1
runtime: php55
api_version: 1
handlers:
- url: /.*
script: helloworld.php
保存して再度デプロイを実行。
エラーは出ずに成功。 指示されているURLにアクセスすると、Hellow, world!
が表示されている。
更にダッシュボードを確認すると、今デプロイしたアプリの情報が表示される。
PHPのバージョンを指定するところで一番ハマった。 しかし、エラーになるのならサンプルのファイルを修正してくれても良いのだけれど…。 と、思ったら、以下のページのチュートリアルではバージョン指定がされていた。 うーん…。
GoogleCloudPlatform AppEngine PHP
次はPythonとかJavaも試してみよう。