PHP en Google Apps Engine usando Java

No hay duda que el soporte de PHP en Google App Engine (GAE) es el deseo de la mayoría de desarrolladores, yo me incluyo entre ellos. Una prueba es que lidera el wishlist en appengine, seguido por Ruby y Perl. Sin embargo el segundo lenguaje que añadió Google a App Engine fue Java en su versión servlet, sin embargo en un interesante post del blog de la empresa Webdigi me entere de la existencia de un proyecto Open Source llamado Quercus, que es una implementación 100% Java del lenguaje de programación PHP, con lo que es posible ejecutar código PHP en App Engine actualmente.

La principal limitación es que el PHP implementado en Quercus no soporta el Datasote de App Engine, sin embargo debido a que si soporta memcache, es posible utilizar dicha opción para utilizando una base de datos común y corriente (MySQL por ejemplo) hosteada en alguna otra parte de la red, desarrollar aplicaciones que accedan a dicha base de datos. El truco está en utilizar el memcache como buffer de todas las consultas a la base de datos. De dicha manera un pequeño servidor virtual que aloje el MySQL podría atender cientos de miles de visitantes diarios.

He probado el ejemplo que se ofrece en Webdigi, editando el archivos correspondiente y traduciendo los pocos textos de los mismos al español, pueden darle una mirada a la prueba que he realizado en phpgae.appspot.com. Pueden descargar el ejemplo que estoy usando desde este enlace.

Estoy analizando la posibilidad de mover mi blog que utiliza WordPress como CMS a App Engine usando Quercus, según lo que he leído la performance es bastante buena, aunque prefiero probar primero antes de mover este blog a esta nueva ubicación. Como todos sabran actualmente este blog esta hosteado en un servidor virtual en el servicio Mosso de Rackspace como lo describí hace ya más de un mes en el post "En la nube".

Para todos aquellos que deseen probar esta forma de ejecutar código PHP en App Engine aquí los pasos que se deben de seguir:

  1. Registre una cuenta en Google App Engine (si es que aún no tiene una).
  2. Descargar e instalar el SDK de Java desde App Engine.
  3. Descargue el archivo de ejemplo a su computadora.
  4. Editar el archivo warWEB-INFappengine-web.xml y reemplazar en "<application>phpgae</application>" el nombre de su aplicación en GAE. Recuerde que mi aplicación se llama phpgae.
  5. Suba su aplicación con los siguientes comandos (en Ubuntu):

cd ~/phpwithjava
~/appengine-java-sdk-1.2.0/bin/appcfg.sh update war

(Asumos que Ud. descomprimió el ejemplo en su directorio home (~/), y realizó lo mismo con el SDK de Java para GAE).

Espero que esta información haya sido de utilidad para todos y espero sus comentarios.

2 comentarios en «PHP en Google Apps Engine usando Java»

  1. Saludos, estoy interesado en utilizar GAE para aplicaciones en PHP, al crear mi primera aplicación me requiere notificar a través de un SMS enviado por Google a mi celular. Sin embargo, este SMS no me llegar.

    Mi telefono es de Trujilo: 044 949966465

    Estaria encantado que me ayudarás.
    Gracias.

  2. Debes de considerar que como los SMS serán enviados desde USA debes usar el código de país también, así que el número que deberías usar sería:

    +5144 949966465

    El simbolo «+» en las redes SMS significa que se debe usar prefijo internacional, en el caso de la red americana es 011, pero obvias muchos problemas si sólo lo dejas indicado como «+».

    Espero que ese tip te sirve para que puedas obtener tu cuenta en Google Apps Engine.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.