2010/10/03
GAEでPHPを動かしてみた。
前にPureJavaのPHP実装があると言うのをちらと見たので
GAE/Jで動かせないかと思ってちょっと調べてみた。
ググったらこんなのが出てきた。
http://www.atmarkit.co.jp/fjava/column/koyama/koyama05_1.html
Quercus って言うのが Java で実装された PHP5 の実装らしい。
早速、以下からダウンロード
http://quercus.caucho.com/
最新版 Quercus 4.0.11 の war と src を落した。
quercus-4.0.11.war
quercus-4.0.11-src.jar
まず、quercus-4.0.11-src.jar を開いて見たんだが
ほんとにソースだけ。build.xml とかなんにも無し。
うーん、と思いつつ quercus-4.0.11.war を展開してみる。
えらくシンプル。commons の jar とかいらんのだろうか...
適当に appengine-web.xml を記述して WEB-INF/ の下に入れて置く。
ローカルのGAEを起動してみる。
あれ、普通に起動しちゃった。
じゃあ、http://localhost:8080/ にアクセスしてみる。
おいおい、普通に動いちゃったよ。
どうやら Quercus は何にもしないでも GAE で動くらしい。
お約束の test.php とかを置いてみる。
これもあっさり表示。
つー訳で GAE で PHP は動きます。
後はBigtable用のライブラリがあればよさげ。
WSJSのファイルシステムと連係できればWeb上からPHPファイルが編集可能になるので凄く便利なんだけどソースみた限り結構大変そうなんだよね。
GPLだし。元々PHP使いでも無いし。需要は有りそうだけど。
GAE/Jで動かせないかと思ってちょっと調べてみた。
ググったらこんなのが出てきた。
http://www.atmarkit.co.jp/fjava/column/koyama/koyama05_1.html
Quercus って言うのが Java で実装された PHP5 の実装らしい。
早速、以下からダウンロード
http://quercus.caucho.com/
最新版 Quercus 4.0.11 の war と src を落した。
quercus-4.0.11.war
quercus-4.0.11-src.jar
まず、quercus-4.0.11-src.jar を開いて見たんだが
ほんとにソースだけ。build.xml とかなんにも無し。
うーん、と思いつつ quercus-4.0.11.war を展開してみる。
war/
|-- LICENSE
|-- META-INF
| +-- MANIFEST.MF
|-- README
|-- WEB-INF
| |-- lib
| | |-- inject-16.jar
| | |-- javamail-141.jar
| | +-- resin.jar
| |-- licenses
| +-- web.xml
|-- images
| |-- caucho-white.jpg
| +-- dragonfly-tiny.png
+-- index.php
えらくシンプル。commons の jar とかいらんのだろうか...
適当に appengine-web.xml を記述して WEB-INF/ の下に入れて置く。
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>php-gae</application>
<version>1</version>
<sessions-enabled>true</sessions-enabled>
<precompilation-enabled>true</precompilation-enabled>
<ssl-enabled>true</ssl-enabled>
<static-files>
<include path="**/*.png" />
<include path="**/*.gif" />
<include path="**/*.jpg" />
</static-files>
</appengine-web-app>
ローカルのGAEを起動してみる。
$ /opt/appengine-java-sdk-1.3.5/bin/dev_appserver.sh war
2010/10/03 5:16:08 com.google.apphosting.utils.jetty.JettyLogger info
: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
2010/10/03 5:16:08 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
: Successfully processed /home/inou/tool/quercus/war/WEB-INF/appengine-web.xml
2010/10/03 5:16:08 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
: Successfully processed /home/inou/tool/quercus/war/WEB-INF/web.xml
2010/10/03 5:16:08 com.google.apphosting.utils.jetty.JettyLogger info
: jetty-6.1.x
2010/10/03 5:16:09 com.google.apphosting.utils.jetty.JettyLogger info
: Started SelectChannelConnector@127.0.0.1:8080
2010/10/03 5:16:09 com.google.appengine.tools.development.DevAppServerImpl start
: The server is running at http://localhost:8080/
あれ、普通に起動しちゃった。
じゃあ、http://localhost:8080/ にアクセスしてみる。

おいおい、普通に動いちゃったよ。
どうやら Quercus は何にもしないでも GAE で動くらしい。
お約束の test.php とかを置いてみる。
<? phpinfo(); ?>

これもあっさり表示。
つー訳で GAE で PHP は動きます。
後はBigtable用のライブラリがあればよさげ。
WSJSのファイルシステムと連係できればWeb上からPHPファイルが編集可能になるので凄く便利なんだけどソースみた限り結構大変そうなんだよね。
GPLだし。元々PHP使いでも無いし。需要は有りそうだけど。
この投稿へのコメント

コメント・フォーム