echo.phpの実行
それでは早速実行してみましょう。パッケージ・エクスプローラーでプロジェクト(PHPonGAE4J)を選択し、右クリックで出てくるメニューから[実行]-[Web Application]を選択します。
コンソールに「The server is running at http://localhost:8080/」と表示されていれば実行開始しています。停止させる場合には、[終了]ボタンを押下します。
それでは、次のURLにブラウザでアクセスしてみましょう。
http://localhost:8080/echo.php
次のような画面が表示されていることと思います。
テキストフィールドにいろいろな文字を入力して[送信]ボタンで送信してみてください。アルファベットだけではなく、ひらがなや漢字を入力した場合でも正しく送信できているでしょうか。
ここまでで、ローカルの実行サーバでPHPスクリプトが動作することが確認できました。
Google App Engineへデプロイ
ローカルの実行サーバで動くことを確認できたら、今度は実際の実行環境であるGoogle App Engineにデプロイしてみましょう。
デプロイする際に必要となる「Application ID」はあらかじめ取得しておく必要があります。「Application ID」の取得などについては『Google App Engine for Javaを使ってみよう!(1)Google Plugin for Eclipse』で詳しく紹介されていますので、併せてご参照ください。
Google Plugin for Eclipseを使用してデプロイする場合には、「Application ID」と「Version」を登録しておく必要があります。
パッケージ・エクスプローラーでプロジェクト(PHPonGAE4J)を選択し、右クリックで出てくるメニューから[Google]-[App Engine Settings...]を選択します。
表示されるダイアログで、「Application ID」と「Version」を設定します。ここで設定した値は「appengine-web.xml」に保存されます。
「Application ID」と「Version」の設定が終わったら、デプロイを実行してみましょう。
デプロイの実行は、先ほどと同様にパッケージ・エクスプローラーでプロジェクト(PHPonGAE4J)を選択し、右クリックで出てくるメニューから[Google]-[Deploy to App Engine]を選択します。
このコマンドを実行すると、Eclipseのプロジェクト名、メールアドレス、パスワードを設定するダイアログが開きます。ここではProject(プロジェクト名)の値として「PHPonGAE4J」、Email(メールアドレス)とPassword(パスワード)にはGoogle App Engineのアカウント登録で使用したメールアドレスとパスワードを設定します。
必要な値を設定できたら[Deploy]ボタンをクリックしてみましょう。Google App Engineへのデプロイが開始され、デプロイの状況がコンソールに出力されます。「Deployment completed successfully」と出力されればデプロイは完了です。
デプロイが完了したら、Google App Engineでどのように表示されるか確認してみましょう。次のURLにブラウザでアクセスしてください。
http://<登録したApplication ID>.appspot.com/echo.php
ローカルの実行サーバと比べて最初の接続に時間がかかるかもしれませんが、正しく動作していることを確認してください。
Google App Engineのアカウント登録にはGoogle Accountが必要ですが、Google AccountとしてGoogle Appsのメールアドレスを使っている方も多いと思います。
Google App EngineのSign inではGoogle Apps用とそれ以外ではURLが異なりますので注意が必要です。
http://appengine.google.com/a/<YOURDOMAIN.COM>/
http://appengine.google.com/
また、Google AppsではGoogle App EngineのURLを独自ドメインのサブドメインとしてマッピングすることができます。
Google AppsとGoogle App Engineを組み合わせることで、自前のサーバを持つことなく、独自ドメインでWebアプリケーションを簡単に提供できるのはとても魅力的なことだと思います。
まとめ
駆け足での紹介になってしまいましたがGoogle App Engine for JavaでPHPを動かしてみた感想はいかがだったでしょうか? 既存のPHPのアプリケーションがそのまま動くようになるには、まだまだ道のりが長いですが、可能性は感じていただけたのではないでしょうか?
Google App Engine for JavaではJavaVMで動作するさまざまなスクリプト系言語を実行することができます。
JRuby on RailsのコミュニティなどでもGoogle App Engine for Javaで実行させるための取り組みが始まっています。もちろんPHPでの対応も進むことでしょう。
アカウントさえ取得できてしまえばGoogle App Engine for Javaで動作させることは簡単です。ぜひともいろいろなプログラムを実行させてみてください。
後編ではGoogle App Engineのデータストアを使用し、PHPスクリプトからデータを保存、取得する方法などについて説明します。