Home Page di Graziano Scappatura
Loading

PHP 5.2.5 su Tomcat 5 in ambiente Windows

lunedì 26 ottobre 2009

Dopo che l'ho fatto, posso finalmente dire che e' veramente semplice (o meglio, piu' semplice di quel che si potrebbe pensare) far interpretare delle pagine PHP dentro una applicazione per Tomcat, in ambiente Windows.

Da premettere che su questo argomento, tanto materiale si puo' trovare su Internet (*). Tante volte, pero' ci sono descrizioni per determinate versioni di prodotti, e non potendo discostarsi da una determinata versione, potrebbe risultare in problemi che diventano piuttosto frustranti da risolvere.

Nel caso non ci siano vincoli di questo tipo, allora puo' tornare utile questo post. Quindi decido di scaricare la versione 5.2.5 di PHP dal sito ufficiale di PHP:

http://museum.php.net/php5/php-5.2.5-Win32.zip

e la relativa collezione di moduli PECL:

http://museum.php.net/php5/pecl-5.2.5-Win32.zip

Procedo decomprimendo il file compresso php-5.2.5-Win32.zip in una posizione consona, diciamo C:\php. Dentro la directory C:\php, rinomino il template php.ini-dist in php.ini (i.e.: file di configurazione di PHP). Modificando il file di configurazione di PHP, abilito l'estensione Java (php_java.dll).

Dal file compresso pecl-5.2.5-Win32.zip, estraggo il file php5servlet.dll direttamente in C:\php.

Assumo che Tomcat sia gia' stato installato e che C:\Tomcat sia la directory di installazione.

Aggiungo al file web.xml (i.e.: il deployment descriptor) le seguenti informazioni:

<servlet>
 <servlet-name>php</servlet-name>
 <servlet-class>net.php.servlet</servlet-class>
</servlet>

<servlet>
 <servlet-name>php-formatter</servlet-name>
 <servlet-class>net.php.formatter</servlet-class>
</servlet>

<servlet-mapping>
 <servlet-name>php</servlet-name>
 <url-pattern>*.php</url-pattern>
</servlet-mapping>

<servlet-mapping>
 <servlet-name>php-formatter</servlet-name>
 <url-pattern>*.phps</url-pattern>
</servlet-mapping>

dentro il tag web-app.

Dal file compresso pecl-5.2.5-Win32.zip estraggo il file compresso jar php5servlet.jar, per comodita', in una directory temporanea, diciamo C:\temp. Estraggo il contenuto di questo file usando, dal prompt the comandi di Windows, il comando jar (disponibile nel Software Development Kit di Java):

C:\temp>jar -xvf php5servlet.jar
     creato: META-INF/
decompresso: META-INF/MANIFEST.MF
decompresso: net/php/formatter.class
decompresso: net/php/reflect.class
decompresso: net/php/reflect.properties
decompresso: net/php/servlet.class
decompresso: net/php/servlet.properties

C:\temp>

Modifico i due file reflect.properties e servlet.properties dentro la directory net\php\ sostituendo la linea:

library=phpsrvlt

con

library=php5servlet

Quindi 'riassemblo' il file compresso php5servlet.jar, in modo del tutto analogo a come lo avevo decompresso (non dimenticando di rimuovere il vecchio file php5servlet.jar dalla directory C:\temp, prima di tutto):

C:\temp>jar -cvf php5servlet.jar net\php\*.*
aggiunto manifesto
aggiunta in corso di: net/php/formatter.class (in = 457) (out = 302) (compresso 33%)
aggiunta in corso di: net/php/reflect.class (in = 9384) (out = 5030) (compresso 46%)
aggiunta in corso di: net/php/reflect.properties (in = 19) (out = 21) (compresso -10%)
aggiunta in corso di: net/php/servlet.class (in = 4806) (out = 2487) (compresso 48%)
aggiunta in corso di: net/php/servlet.properties (in = 19) (out = 21) (compresso -10%)

C:\temp>

Copio il nuovo file jar nella directory che contiene i file archivio Java da cui l'applicazione dipende (tipicamente, la directory C:\Tomcat\webapps\<applicazione>\WEB-INF\lib\). Se invece si pensa di usare PHP per ciascuna delle applicazioni che vengono eseguite da Tomcat allora il file va copiato nella directory che contiene i file archivio Java di Tomcat ovvero C:\Tomcat\lib\.

A questo punto rimane solo da riavviare il servizio Tomcat.

Per verificare che tutto funzioni correttamente e' sufficiente creare la classica pagina PHP (diciamo info.php) che contenga:

<? phpinfo(); ?>,

salvarla in C:\Tomcat\webapps\<applicazione>\ e richiamarla da un browser all'indirizzo:

http://<ip del server>:<porta>/<applicazione>/info.php
Comments:

(*) A proposito voglio citare i due post da cui ho preso spunto per installare PHP su Tomcat in ambiente Windows, e quindi per redigere questo articolo:

1) WAMP Environment - Tomcat, PHP, MySql

2) Running php 5.x on windows using tomcat 4.x or 5.x

Inoltre, non meno interessante puo' risultare la seguente risorsa, se si vuole qualche discernimento in piu' sul layout delle applicazioni Web di Tomcat:

*) Deploying Web Applications to Tomcat

Posted by Graziano Scappatura on ottobre 30, 2009 at 12:14 AM GMT+01:00 #

grazie mille, veramente utilissimo!

Posted by fabio radaelli on ottobre 03, 2012 at 10:45 AM GMT+01:00 #

Post a Comment:
  • HTML Syntax: Allowed

Search

Tag Cloud

Archive

recent Post

Link

Blogroll

Feed

All Post

Related entries

  • Installazione di Android Kitkat 4.4.4 su HTC HD2
  • Il 'buon senso' del MIUR
  • Installazione di un certificato SSL Web Server
  • BlackBerry Desktop Software
  • Ironia e aneddoti informatici
  • Microsoft Outlook e Blackberry
  • Error 1058: The service cannot be started
  • PHP 5.2.5 su Tomcat 5 in ambiente Windows
  • HTTP Server di Apache e i 'behaviour'
  • Preambolo a questa categoria
  • ADS