SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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にマッピング

次のページ
Quercus用PHP設定ファイル

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Google App Engine for Javaで動作するスクリプト系言語連載記事一覧
この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3948 2009/06/09 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング