Home Page di Graziano Scappatura
Loading

Error 1058: The service cannot be started

sabato 28 novembre 2009

Tutto e' partito dai continui crash di Apache Tomcat 5.5.17. Mi sono rivolto percio' alla mailing-list degli utenti di Tomcat, aprendo un thread (Tomcat 5.5.17 crashes too often).

La prima cosa che e' venuta fuori e' il colpevole: la servlet PHP (php5servlet.dll) che realizza l'interprete PHP nel mio ambiente Tomcat.

Tuttavia, mi e' stato consigliato di aggionare la JVM (Java Virtual Machine), che sicuramente era un po' troppo datata, dalla versione che avevo io:

C:\>java -version
  java version "1.5.0_09"
  Java(TM) SE Runtime Environment (build 1.5.0_09-b04)
  Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)

alla versione piu' recente che adesso ho installato:

C:\>java -version
  java version "1.6.0_17"
  Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
  Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)

e questo avrebbe potuto risolvere il problema.

Difatti, non ha risolto un bel niente. Anzi mi sono imbattuto in un problema in cui non ne riuscivo a venirne a capo. Ovvero, il servizio Tomcat5 (Apache Tomcat) non partiva affatto. E non partiva nemmeno specificando nella configurazione dell'avvio del servizio, la vecchia JVM come JVM da essere usata da Tomcat.

L'errore che Windows mi dava e' il seguente:

Impossibile avviare Apache Tomcat.

Errore 1058: Il servizio Impossibile avviare, perché è disabilitato o perché non sono periferiche associati.

L'unico suggerimento che mi e' stato dato e' stato dato e' di aggiornare anche l'application server, visto che la Apache Tomcat 5.5.17 era vecchio. Ho quindi installato Apache Tomcat 5.5.28 e ripristinato tutte le configurazioni e applicazioni. Ma il risultato non cambiava.

Ho perso un bel po' di tempo a cercare su Internet, quando ho trovato il seguente articolo che spiega la causa:

Error 1058: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.

e quest'altro che da' la soluzione.

Servizio non viene avviato e viene visualizzato "Errore 1058"

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

Benvenuti nel mio Blog

martedì 06 novembre 2007

Sicuramente sono arrivato in netto ritardo per spiegarvi che cos'e' un blog. Per quelli che come me considerano le ripetizioni come un ottimo esercizio per rafforzare la padronanza di se' stessi, e che hanno sempre un orecchio teso per ascoltare la parola degli altri per confrontarla costruttivamente alla propria, daro' una mia definizione personale di blog.

Penso che se la vita ci ha dato tante cose belle, allora una delle piu' belle tra queste e' sicuramente la metafora.

Il personaggio Mario, interpretato Massimo Troisi nel film Il postino, apprende dal poeta Pablo Neruda il concetto di metafora come facente parte della vita di tutti i giorni, e come tale concetto possa aiutare a semplificare la vita dell'essere umano. La conquista di Beatrice Russo poi, altro non e' che la metafora della metafora.

L'affermazione della tecnologia e, ancor di piu' dell'informatica, come presenza costante nei nostri giorni, si ha soprattutto grazie all'applicazione a pieno del concetto di metafora.

Quante persone, solo fino ad un decennio fa' o poco piu', rabbrividivano al solo pensiero della parola 'informatica' o 'computer'? Tantissime. E nessuno puo' affermare il contrario.

Invece, quanti genietti dei computer ci troviamo intorno oggigiorno? Quante persone oggi gestiscono molte delle proprie attivita' attraverso un computer?

Ho parlato di attivita' non a caso. Attivita' sono:


  • Andare in banca per fare un bonifico

  • Prendere la posta dalla cassetta e leggerla

  • Riportare su un foglio le spese sostenute e far dei calcoli

  • Archiviare dei documenti in una cartella in base ad un criterio preciso

E via dicendo.

Molte metafore di queste attivita' sono le attivita' che sempre piu' persone trovano decisamente piu' conveniente e comodo svolgere attraverso un PC o un portatile:


  • Fare un bonifico accedendo al servizio di Web banking

  • Scaricare la posta elettronica con Outlook

  • Verificare le spese sostenute usando un foglio elettronico

  • Organizzare i propri dati usando una disposizione razionale delle cartelle di Windows

E mille altre se ne potrebbero citare.

Una delle trovate piu' recenti e' il blog, la metafora del diario. Piu' che del diario personale, io penso che il blog e' una sorta di agenda di quelle che usavamo alle scuole superiori che si usava per riportare di tutto (che non fosse argomento di scuola... ;-)), al di la' di ogni piu' ragionevole immaginazione.

Nelle mie, ad esempio, ci ho anche attaccato un bottone di un Levi's 501, il calendarietto tascabile con le foto erotiche delle top model del tempo distribuito da una barberia del mio paese, un pelo di genitale femminile e, udite udite, uno scarafaggio messo sotto spirito ed essiccato.

Beh! Mi auguro di non avere inorridito e fatto scappare lontano dal mio blog nessuno di voi. E poi, e' chiaro che il contenuto del diario cambia al cambiare dell'eta' e della maturazione di una persona.

Un vantaggio confutabile al blog e' senz'altro l'audience che un blog puo' avere, oltre la possibilita' di un interazione, grazie ai commenti che voi lettori potrete, con mio sommo piacere (:-)), inserire senza necessita' di registrarvi e con la liberta' di rimanere nell'anonimato.

Chiaramente, per salvaguardare l''incolumita'' di chi legge, mi riservo di fungere da moderatore e mettere in discussione dei post poco ortodossi.

Quello che posso garantire e' che, poiche' nauseato dall'idea che gente come Clemente Mastella puo' tenere in ostaggio l'Italia, non lo imitero' nemmeno nel modo di gestire il blog: <<Cricatemi pure, non mi esimero' dall'espormi ai 'pomodori in faccia'>>.

Buona lettura,

Graziano Scappatura

Search

Tag Cloud

Archive

recent Post

Link

Blogroll

Feed

All Post

ADS