php.iniの配置とxmlの編集
環境設定ファイルphp.iniを(projectRoot)/war/WEB-INFに配置します。
GAE環境の文字コードはUnicodeのため、PHP側でもUnicodeの設定を行います。
この設定が正しくないとレスポンスが文字化けする可能性があるので注意してください。
unicode.semantics=on unicode.http_input_encoding=UTF-8 unicode.output_encoding=UTF-8 unicode.runtime_encoding=UTF-8 unicode.script_encoding=UTF-8 unicode.fallback_encoding=UTF-8 mb_language=unicode mb_internal_encoding=UTF-8 mb_http_input=auto mb_http_output=UTF-8
プロジェクト作成時に自動生成されるweb.xmlとappengine-web.xmlという2つのXMLファイルを編集し、PHPプログラムが動作するように設定します。
web.xmlに対して以下の部分を追記してください。このXMLは、すべてのPHPファイルをサーブレットとして動作させる設定と、SQL4GAdminを動作させるための設定です。
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>Quercus For SQL4G Servlet</servlet-name> <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class> <init-param> <param-name>script-encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>ini-file</param-name> <param-value>WEB-INF/php.ini</param-value> </init-param> </servlet> <welcome-file-list> <welcome-file>index.php</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list> <servlet-mapping> <servlet-name>Quercus For SQL4G Servlet</servlet-name> <url-pattern>*.php</url-pattern> </servlet-mapping> <!-- SQL4G Database Admin --> <servlet> <servlet-name>SQL4GAdmin</servlet-name> <servlet-class>jp.littlesoft.sql4g.SQL4GServlet</servlet-class> <init-param> <param-name>VelocityFileLoaderPath</param-name> <param-value>template</param-value> </init-param> <init-param> <param-name>sql4g.instanceId</param-name> <param-value>1</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>SQL4GAdmin</servlet-name> <url-pattern>/sql4gadmin</url-pattern> </servlet-mapping> <!-- Welcome File --> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
appengine-web.xmlに対して以下の部分を追記してください。このXMLは、すべてのPHPファイルを動的なファイルとしてGAEに認識させるように設定しています。
<sessions-enabled>true</sessions-enabled> <precompilation-enabled>true</precompilation-enabled> <system-properties> <property name="file.encoding" value="UTF-8"/> <property name='DEFAULT_ENCODING' value='UTF-8'/> </system-properties> <static-files> <exclude path="/**.php" /> </static-files> <resource-files> <include path="/**.php" /> </resource-files>
Pearモジュールの配置
(projectRoot)/warディレクトリ直下に、phplibディレクトリを配置します。このディレクトリには、pear::DBライブラリとテンプレートエンジン「Smarty」のソースが含まれています。
SQL4GAdminの起動を確認しよう
SQL4GAdminを起動して、環境設定が正しく行われたか確認をしましょう。
SQL4GAdminは、SQL4Gに特化したグラフィカルなデータベース管理ツールです(SQL4Gに無償でバンドルされています)。データベースの作成やSQLの実行などを、Webブラウザから行えます。詳しくは、付属のドキュメントを参照してください。
http://localhost:[yourport]/sql4gadminにアクセスしてください。環境設定が正しく行われていれば、SQL4GAdminの初期画面が表示されます。
以上で、PHP4Gの開発環境の構築は終了です。各設定ファイルや後段で作成するスクリプトは、PHP4Gのダウンロードサイトから取得できます。興味のある方や手早く動作の確認をしたい方はダウンロードしてみてください。
2/3 |
Index | |
SQL4GでGAE+PHPを体験しよう | |
Page1 GAE+PHP環境のセットアップ SQL4GとPHP4Gモジュールの配置 |
|
Page2 php.iniの配置とxmlの編集 Pearモジュールの配置 SQL4GAdminの起動を確認しよう |
|
Page3 簡単なPHPスクリプトを作成しよう 動作確認用コードをGAE上にアップロードしよう |
GAE+PHP/Rubyで拓く新世界 |
Coding Edgeお勧め記事 |
いまさらアルゴリズムを学ぶ意味 コーディングに役立つ! アルゴリズムの基本(1) コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。発想力を鍛えよう |
|
Zope 3の魅力に迫る Zope 3とは何ぞや?(1) Pythonで書かれたWebアプリケーションフレームワーク「Zope 3」。ほかのソフトウェアとは一体何が違っているのか? |
|
貧弱環境プログラミングのススメ 柴田 淳のコーディング天国 高性能なIT機器に囲まれた環境でコンピュータの動作原理に触れることは可能だろうか。貧弱なPC上にビットマップの直線をどうやって引く? |
|
Haskellプログラミングの楽しみ方 のんびりHaskell(1) 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう |
|
ちょっと変わったLisp入門 Gaucheでメタプログラミング(1) Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう |
|
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
|
|