手把手教你在Google App Engine上運(yùn)行PHP
話說前不久 Google App Engine 支持了第二種語言 Java,占據(jù)GAE需求排行榜的 java終于支持了,如果按這樣的思路執(zhí)行下去,那么不久的第三個語言肯定就是 PHP了!不過貌似大家都按耐不住這份心情,對 GAE 開始了各種的嘗試,不過這里不能不說 java 是一個好東西,擴(kuò)展和應(yīng)用非常的廣泛,于是乎就有了Quercu,它是一個 java 的應(yīng)用,簡單的說就是 PHP in Java。利用 Jetty(一款 Java 的web服務(wù)器)+ Quercus 就能讓你在未開放 PHP語言支持的 GAE 上面運(yùn)行 PHP代碼,甚至把 Java 的類導(dǎo)入到 PHP里面執(zhí)行!這就是 Quercus 的魔力。同樣的如果你是 Ruby 用戶,可以使用 JRuby 實(shí)現(xiàn)執(zhí)行。好吧,下面開始實(shí)踐:
部署環(huán)境:Windows XP + Eclipse 3.4 + GAE for Java eclipse 3.4 plugins(如果使用官方教程無法安裝,請參見另類安裝教程)
首先,下載支持庫類??隙ǖ眯枰?Jetty,Quercus 的 jar 包(由于 GAE 的版本限制,或許只支持目前的版本包,如果鏈接失效請搜索同樣版本的jar包或者在本文的末尾下載整個演示工程的 war 包),第一個是 jetty-util-6.1.0.jar, quercus.jar(Quercus 3.1.6 jars版本,最新版的 3.2.x 不支持) 以及 Quercus 包中的 resin_util.jar(這兩個的下載頁面),這三個下載完畢之后放置在 GAE 工程的 “war/WEB_INF/lib” 目錄下面并為把 lib 整個目錄設(shè)置為編譯環(huán)境(Build Path)。
然后開始 Quercus的參數(shù)配置,編輯 “war/WEB_INF/web.xml” 文件,在< web-apps>< /web-apps>中間的適當(dāng)位置加入:
- < servlet>
- < servlet-name>Quercus Servlet< /servlet-name>
- < servlet-class>com.caucho.quercus.servlet.QuercusServlet< /servlet-class>
- < init-param>
- < param-name>ini-file< /param-name>
- < param-value>WEB-INF/php.ini< /param-value>
- < /init-param>
- < /servlet>
- < !-- 其他配置 -->
- < servlet-mapping>
- < servlet-name>Quercus Servlet< /servlet-name>
- < url-pattern>*.php< /url-pattern>
- < /servlet-mapping>
上面的 “WEB-INF/php.ini” 是自己創(chuàng)建的文件,并非 PHP 環(huán)境下復(fù)制過來的哦,留空即可,貌似沒有加入這個文件,就無法運(yùn)行。
另外還需要在 “WEB-INF/appengine-web.xml” 加入下面代碼:
- < static-files>
- < exclude path="/*.php" />
- < /static-files>
- < resource-files>
- < include path="/**.php" />
- < /resource-files>
- < /strong>
以上完成之后,就可以進(jìn)行 PHP 代碼的測試了,把你要運(yùn)行的 php 文件放在 “WEB-INF” 目錄下面即可。然后通過部署上傳就可以看到 php 的完美運(yùn)行了,本人的測試地址:http://go-ogle.appspot.com/info.php
更多使用方法請看 Quercu 官方網(wǎng)站的相關(guān)文檔。
附圖:
【編輯推薦】