JSP versus PHP? Não PHP no Tomcat. =P

January 19th, 2008 by flaviocrispim

Sou especialista em desenvolvimento de aplicações web, usando tecnologia J2EE.

PHP? Bem tenho um contrato de vários meses com um provedor e na prática, java é bem caro de se manter neste quesito para aplicações web, já PHP consome poucos recursos e todo provedor ofereçe suporte sem custos adicionais.

Ótima oportunidade de conhecer outra tecnologia, tenho algumas idéias de pequenos projetos, mas e para desenvolver e manter com o menor custo possível precisarei aprender RoR ou PHP, que são as tecnologias disponiveis por padrão no meu provedor.

Porque PHP? Encontrei mais referências, tem uma comunidade maior e bastante ativa e porque pretendo entender um pouco mais do wordpress (escrito em PHP), Ruby on Rails, fica para a próxima.

Por mais ridículo que pareça, decidi sem nenhum motivo em especial pesquisar se seria possível escrever uma aplicação PHP e usar o Tomcat como servidor. (aeuaue)

Funciona sim, mas como não passo de newbie em PHP, não sei se funciona plenamente a ponto de poder rodar um Bugzilla ou um Wordpress.

Receita

Ingredientes:
Modo de Preparo do Ambiente:
  • Primeiro Instale a JVM e em seguida descompacte o zip do PHP5 no diretório que desejar, sugiro c:\PHP;
  • Instalar o Tomcat, basicamente descompacte-o, ou no caso de arquivo ‘.msi’ use o wizard;
  • Criar a variável de ambiente JAVA_HOME apontando para o diretório do…      … java;
  • PHP_HOME para…         … c:\PHP;
  • CATALINA_HOME – para o diretório onde estão os arquivos do Tomcat;
  • Incluir na variável de ambiente PATH os caminhos: %CATALINA_HOME%\bin;%PHP_HOME%;%JAVA_HOME%\bin
  • Fechar todas as janelas de comando que estão abertas. ;)
Modo de preparo do PHP no Tomcat
  • No diretório c:\PHP existe um arquivo: ‘php.ini-dist’, faça uma cópia dele com o nome… ‘php.ini’;
  • Edite o arquivo php.ini e procure por ‘extension=php_java.dll’, verifique se a linha existe e se não está comentada, caso não exista… crie.

O arquivo zip PECL serve para alguma coisa sim. Existem alguns arquivos que precisam ser extraídos para a pasta raiz do PHP e um último arquivo que deverá ser usado como biblioteca no Tomcat.

  • No zip PECL extraia os arquivos: php5servlet.dll, php_java.jar e php_java.dll para o diretório c:\PHP;
  • No diretório webapps do tomcat, crie um diretório que servirá como raiz da aplicação PHP, exemplo phpdubsoup;
  • No diretório Raiz da aplicação crie também o diretório WEB-INF, dentro do WEB-INF crie o diretório classes, ainda no diretório WEB-INF crie um arquivo web.xml, contendo:

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<!DOCTYPE web-app PUBLIC
  “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
  “http://java.sun.com/dtd/web-app_2_3.dtd”>
<web-app>
<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>
</web-app>

  • No arquivo PECL extraia o arquivo phpsrvlt.jar e extraia o conteúdo deste arquivo jar para o diretório WEB-INF/classes da aplicação phpdubsoup;

O conteúdo do arquivo jar contém os servlets declarados no web.xml, mas na versão usada necessita de uma pequena correção nos arquivos properties, para referenciar corretamente a biblioteca ‘php5servlet.dll’

  • Editar os arquivos: ‘reflect.properties’ e ’servlet.properties’ que se encontram em: phpdubsoup/WEB-INF/classes/net/php. A variável library deve ser igual ao nome da biblioteca, assim:

library=php5servlet

  • Na raiz da aplicação phpdubsoup, criar um arquivo chamado test.php, contendo:

<?php phpinfo(); ?>

  • Abrir uma linha de comando, e digitar startup, para iniciar o tomcat.
Modo do Consumo

phpdubsoup2.PNG

Pronto! PHP rodando dentro do Tomcat. Não é a configuração que irei usar no meu site, mas é assim que darei meus primeiros passos nessa linguagem.

Referência: http://blog.taragana.com/index.php/archive/running-php-5x-on-windows-using-tomcat-4x-or-5x/

about


This is the about me section, you will prob. want to edit this. If you want to change the image you may do so by changing the avatar.jpg located in the NewZen images directory.

search

navigation

archives

categories