El primer que hem de fer és descarregar-nos el Jetty, ho podem fer des d'aquest enllaç:
http://dist.codehaus.org/jetty/jetty-6.1.14/jetty-6.1.14.zip
Un cop descarregat, el descomprimim al disc dur.
Per poder executar fitxers de php necessitarem el "Quercus", una implementació 100% java del php.
El descarreguarem de http://quercus.caucho.com/download/quercus-3.2.1.war
Un cop al disc, renombrem el fitxer quercus-3.2.1.war a php.zip,
descomprimim el fitxer i copiem la carpeta php a jetty-6.1.14/webapps.
Ens situem a dins de la carpeta del jetty i executem la següent comanda.
java -jar start.jar

obrim el navegador i posem la següent adreça http://localhost:8080/php/ .
Ara hem de veure el següent:

Bé, ja hem aconseguit fer funcionar un script de php dins un entorn d'execució java.
Ara el pròxim pas, es fer que funcioni la connexió a una base de dades, per aquest article escollirem el mysql.
El primer que farem és aturar l'execució del Jetty, per fer-ho des de la consola on hem executat java -jar start.jar premerem les tecles Ctrl+c.
Per poder fer funcionar el mysql en un projecte java necessitem el connector jdbc de mysql, que el podem descarregar del web de mysql:
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.8.zip/from/http://mysql.rediris.es/
Un cop al disc, el descomprimim i copiem el fitxer mysql-connector-java-5.0.8-bin.jar a la carpeta jetty-6.1.14\webapps\php\WEB-INF\lib
Creem el fitxer jetty-6.1.14\webapps\php\WEB-INF\jetty-env.xml amb aquest contingut:
jdbc/MyDataSource jdbc:mysql://localhost:3306/prova root alex
Aquí heu de configurar les dades de connexió a la base de dades segons el vostre cas.
Editem el fitxer fitxer jetty-6.1.14\webapps\php\WEB-INF\web.xml i hem d'afegir això
jdbc/MyDataSource javax.sql.DataSource Container database jdbc/MyDataSource
a la part final abans del tancament de web-app.
Ara crearem el nostre escript que es connecti a la base de dades amb unes instruccions bàsiques.
Creem el fitxer jetty-6.1.14\webapps\php\prova.php*
$host="localhost";
$database="prova";
$username="root";
$password="alex";
$db = new PDO("mysql:host=$host;dbname=$database", $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM area";
$sth = $db->prepare($sql);
$sth->execute();
$rows = $sth->fetchAll( PDO::FETCH_ASSOC );
print_r($rows);
*Heu de posar els tags d'inici i fi de php, el blogger no me'ls deixa escriure.
Tornem a executar java -jar start.jar
i obrim el navegador a http://localhost:8080/php/prova.php
En el meu cas veig:

En els pròxims dies publicaré com fer que funcioni el zend framework en aquest entorn.
Cap comentari:
Publica un comentari a l'entrada