CodeZine(コードジン)

特集ページ一覧

PHPも使える! Google App Engine for Java(前編)

Google App Engine for Javaで動作するスクリプト系言語 (1)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/06/09 14:00
目次

Quercus/Jettyのjarをコピー

 先ほど取得したQuercusとJettyの5つのjarファイルを、作成したプロジェクトの「war/WEB-INF/lib」にコピーします。

プロジェクトに登録するライブラリ一覧
プロジェクトに登録するライブラリ一覧

設定ファイルの修正/追加

 次に、Google App Engine for JavaでQuercusを有効にするために設定ファイルを修正、追加します。

 ここで紹介するPHPスクリプトファイルのエンコーディング、リクエスト/レスポンスのcharset/エンコーディングは、すべてWindows-31J/MS932を使用しています。

 まず、Quercusを有効にするために「war/WEB-INF」以下にある、次の2つの設定ファイルを修正します。

  • appengine-web.xml(App Engine定義ファイル)
  • web.xml(デプロイメント記述子ファイル)

App Engine定義ファイル

 App Engineの設定情報を記述するためのファイルで、ファイル名は「appengine-web.xml」です。主な情報としては、Application IDやバージョンなどの情報を記述します。

 このファイルに次の設定を追加します。

[リスト1]appengine-web.xmlの一部
<!-- Quercus用の設定 -->
<!-- (1)PHPファイルを静的なファイルから除外 -->
<static-files>
    <exclude path="/**.php" />
</static-files>
<!-- (2)PHPファイルをリソースファイルとして登録 -->
<resource-files>
    <include path="/**.php" />
</resource-files>

(1)拡張子がphpのファイルを静的ファイルから除外

 Google App Engineではサーバから直接返すファイル(CSSや画像ファイルなど)については、静的ファイルとして登録することでキャッシュに配置され、効率的に配信されるようになります。

(2)拡張子がphpのファイルをリソースファイルとして登録

 PHPスクリプトファイルのようにクライアントに直接返されず、プログラムで使用するファイルはリソースファイルとして登録する必要があります。

 appengine-web.xmlの設定ファイル仕様については、Java Application Configurationで説明されていますので、他のパラメータなどを確認したい場合には参照してください。

デプロイメント記述子ファイル

 Servlet仕様で定義される、Webアプリケーションのためのデプロイメント記述子を定義するファイルで、ファイル名は「web.xml」です。Servletを使っている方々にはおなじみのファイルです。このweb.xmlファイルに次の設定を追加します。

[リスト2]web.xmlの一部
<!-- Quercusの設定 -->
<servlet>
    <!-- (1) -->
    <servlet-name>Quercus Servlet</servlet-name>
    <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
    <!-- (2) -->
    <init-param>
        <param-name>script-encoding</param-name>
        <param-value>MS932</param-value>
    </init-param>
    <!-- (3) -->
    <init-param>
        <param-name>ini-file</param-name>
        <param-value>WEB-INF/php.ini</param-value>
    </init-param>
</servlet>
<!-- (4) -->
<servlet-mapping>
    <servlet-name>Quercus Servlet</servlet-name>
    <url-pattern>*.php</url-pattern>
</servlet-mapping>

 ここではQuercusのServletについての設定を記述します。

  1. QuercusのServletを登録
  2. PHPスクリプトファイルのエンコーディングをMS932に設定
  3. Quercusの設定ファイルである「php.ini」の場所を設定
  4. 拡張子が「*.php」となるリクエストをQuercusServletにマッピング

  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2009/05/25 21:55 ローカルサーバのURLが「http://<登録したApplication ID>.appspot.com/echo.php」になっているのを「http://localhost:8080/echo.php」に変更

  • 2009/05/25 21:54 ローカルサーバのURLga

バックナンバー

連載:Google App Engine for Javaで動作するスクリプト系言語

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

  • WINGSプロジェクト 花田 善仁(ハナダ ヨシヒト)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5