LoginSignup
5
6

More than 5 years have passed since last update.

GoogleAppEngineのPHPサンプルをとりあえずデプロイまで。

Last updated at Posted at 2015-07-02

無料試用期間を利用して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を開く。

app.yaml
application: helloworld
version: 1
runtime: php
api_version: 1

handlers:
- url: /.*
  script: helloworld.php

これのruntimeの部分をphp55に書き換える。

app.yaml
application: helloworld
version: 1
runtime: php55
api_version: 1

handlers:
- url: /.*
  script: helloworld.php

保存して再度デプロイを実行。

エラーは出ずに成功。 指示されているURLにアクセスすると、Hellow, world!が表示されている。

更にダッシュボードを確認すると、今デプロイしたアプリの情報が表示される。


PHPのバージョンを指定するところで一番ハマった。 しかし、エラーになるのならサンプルのファイルを修正してくれても良いのだけれど…。 と、思ったら、以下のページのチュートリアルではバージョン指定がされていた。 うーん…。

GoogleCloudPlatform AppEngine PHP

次はPythonとかJavaも試してみよう。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6