PHP App Engine スタンダード環境のクイックスタート

This quickstart shows you how to create a small App Engine application that displays a short message.

はじめに 

このクイックスタートを実行、デプロイする前に、Cloud SDK をインストールして Cloud Platform Console プロジェクトを作成するか、既存のプロジェクトを使用する必要があります。

  1. 新しい Cloud Platform Console プロジェクトを作成するか、Google Cloud Platform Console から既存のプロジェクトのプロジェクト ID を取得します。

    プロジェクト ページに移動

    ヒント: gcloud で既存のプロジェクト ID のリストを取得します。

  2. gcloud ツールをインストールするには、Google Cloud SDK をインストールしてから初期化します。

    SDK をダウンロード 

gcloud で Cloud Platform Console プロジェクト ID のリストを表示する

コマンドラインから以下を実行します。

gcloud projects list

Hello World アプリをダウンロード 

PHP 用のシンプルな Hello World アプリが用意されており、Google Cloud Platform へのアプリのデプロイをすぐに試すことができます。次の手順で Hello World をローカルマシンにダウンロードしてください。

  1. Hello World サンプルアプリ レポジトリのクローンをローカルマシンの helloworld という名前のディレクトリに作成します。

    git clone -b phase0-helloworld https://github.com/GoogleCloudPlatform/appengine-php-guestbook.git helloworld
    
  2. 次に、サンプルコードを含むディレクトリに移動します。 

    cd helloworld
    

あるいは、zip ファイルとしてサンプルをダウンロードして helloworld という名前のディレクトリに抽出することもできます。

アプリケーションをテストする

SDK に含まれるローカルの開発サーバー(dev_appserver.py)を使用して、アプリケーションをテストします。

  1. helloworld ディレクトリ内から、次のコマンドを使用してローカルの開発サーバーを起動します。

    dev_appserver.py .

    ローカル開発用サーバーが起動し、ポート 8080 でリクエストを待機します。

  2. ウェブブラウザで http://localhost:8080/ にアクセスしてアプリを表示します。

ローカル開発用サーバーの実行の詳細については、PHP 開発用サーバーのレファレンスをご覧ください。

ローカルの開発サーバー(dev_appserver.py)を起動

ローカルの開発サーバーを作動させるには、ディレクトリをフルパスで指定して dev_appserver.py を実行するか、PATH 環境変数に dev_appserver.py を追加します。

  • App Engine SDK をインストールすると、ツールは [PATH_TO_APP_ENGINE_SDK]/dev_appserver.py にあります。

  • Google Cloud SDK をインストールすると、ツールは [PATH_TO_CLOUD_SDK]/google-cloud-sdk/bin/dev_appserver.py にあります。

    ヒント: Google Cloud SDK ツールを PATH 環境変数に追加してシェルでコマンドの補完を有効にするには、次のコマンドを実行します。

    [PATH_TO_CLOUD_SDK]/google-cloud-sdk/install.sh
    

変更する

アプリケーションの開発中は、開発用サーバーを起動したままにすることができます。開発用サーバーはプロジェクト ファイルの変更を監視し、必要に応じて再読み込みします。

  1. では試してみましょう。開発用サーバーを起動したまま helloworld.php を編集して Hello, World! を別のものに変更します。
  2. http://localhost:8080/ を再読み込みします。

アプリケーションをデプロイする 

アプリを App Engine にデプロイするには、app.yaml ファイルがあるアプリケーションのルート ディレクトリ内から次のコマンドを実行します。

gcloud app deploy

オプション フラグ: 

  • --project フラグを含めて gcloud ツールでデフォルトとして初期化した予備の Cloud Platform Console プロジェクト ID を指定します。例: --project [YOUR_PROJECT_ID]

  • -v フラグを含めてバージョン ID を指定するか、そうでない場合は生成されます。例: -v [YOUR_VERSION_ID]

コマンドラインからのアプリのデプロイの詳細については、PHP アプリをデプロイするをご覧ください。

アプリケーションを表示する

ブラウザを起動して http://[YOUR_PROJECT_ID].appspot.com でアプリを表示するには、次のコマンドを実行します。

gcloud app browse

これで完了です

このクイックスタートを完了しました。

このクイックスタート後のクリーンアップの詳細については、以下の説明をご覧ください。また、デプロイしたアプリケーションを活用できる次のステップへのリンクも合わせてご覧ください。

この Hello World アプリについて詳しくは、Hello World コードのレビューセクションをご覧ください。

クリーンアップ 

このクイックスタートで使用するリソースについて Google Cloud Platform アカウントに課金されないようにする手順は次のとおりです。

  1. Cloud Platform Console に移動します。 
  2. シャットダウンしたいプロジェクトの横にあるゴミ箱のアイコンをクリックします。これによってプロジェクトの削除がスケジュールされます。

次のステップ 

カスタム ドメインを使用する

appspot.com の代わりにカスタム ドメインを使用して App Engine アプリを提供できます。詳細については、カスタム ドメインと SSL を使用するをご覧ください。

Hello World のコードレビュー 

Hello World には 1 つのサービスのみ含まれ、1 つのバージョンのみ存在し、すべてのコードがアプリのルート ディレクトリに存在するため、最もシンプルな App Engine アプリです。このセクションでは、このアプリの各ファイルの詳細について説明します。 

helloworld.php

helloworld.php スクリプトは、いかなる HTTP リクエストに対してもメッセージ Hello, World! で応答します。

<?php

echo 'Hello, World!';

app.yaml

app.yaml 設定ファイルは、どの URL にどのハンドラ スクリプトを使用するかを記述します。

runtime: php55
api_version: 1

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

この設定ファイルは、上から下へ順に、アプリケーションに関する次の情報を記述しています。

  • このコードは php55 ランタイム環境、API バージョン 1 で実行されます。
  • このアプリケーションは threadsafe です。そのため、1 つのインスタンスで複数の要求を同時に処理できます。スレッドセーフは先進的な機能であるため、アプリケーションがスレッドセーフに対応するよう適切に設計されていない場合、動作にエラーが生じることがあります。
  • URL のパスが正規表現 /.* (すべての URL)に合致する場合、その URL に対するリクエストはすべて、helloworld.php スクリプトで処理されます。

このファイルの構文は YAML です。設定オプションの全リストについては、app.yaml リファレンス をご覧ください。

トラブルシューティング 

発生する可能性のある一般的なエラー メッセージを次に示します。

The development server must be started with the --php_executable_path flag set to the path of the php-cgi binary.

dev_appserver.py を実行中にこのエラーが発生した場合はフラグ php_executable_path と共に dev_appserver.py を返し、php-cgi バイナリへのパスを指定します。次のコマンドを実行するとパスを見つけることができます。

  which php

--php_executable_path フラグを使用した dev_appserver.py コマンドは /usr/bin/php-cgi パスに設定されます。

    dev_appserver.py helloworld/ --php_executable_path /usr/bin/php-cgi

詳細 

プラットフォーム全体を学ぶ

App Engine アプリを開発し、デプロイするとどうなるかわかったところで、Google Cloud Platform の残りの部分を確認しましょう。App Engine だけでなくプラットフォーム全体を使用するアプリケーションの作成方法を学ぶチュートリアルについては、ゲストブックの作成のチュートリアルをご覧ください。このシンプルなアプリケーションを展開して、認証済み Google アカウントがパブリックページにメッセージを投稿できる本格的なゲストブック アプリケーションにします。

App Engine スタンダード環境の詳細

App Engine についてさらに理解を深めるためのトピックをご紹介します。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

App Engine standard environment for PHP