Como rodar PHP no TomCat Junto com JSP
Posted: 25 Sep 2023, 03:09
Esse artigo parte do suposto que o seu Tomcat já está configurado com os seus usuários corretamente em um servidor Linux e com o java 1.8.0 rodando e funcionando corretamente no path. Vamos partir do suposto que o seu tomcat esteja instalando em /opt/tomcat na versão 8 e que o seu PHP e Mysql já estejam devidamente instalados conforme qualquer instalacao padrão. O foco aqui é apenas o Tomcat com o PHP.
No seu Linux Ubunto instale antes o pacote php-cgi
Entre no site https://sourceforge.net/projects/php-java-bridge/files/
Nesse site você baixará dois "plugins" .jar , não podemos garantir se eles contem ou não código malicioso como um cavalo de troia ou vírus, é por conta e risco apenas seu baixá-los.
Nesse site acima entre no link/pasta "Binary package" ou https://sourceforge.net/projects/php-ja ... 20package/
Entre no link "php-java-bridge_7.2.1" ou https://sourceforge.net/projects/php-ja ... dge_7.2.1/
Baixe e guarde em downloads do seu computador o deploy JavaBridgeTemplate721.war
Depois no mesmo site entre no link ou pasta "exploded" ou https://sourceforge.net/projects/php-ja ... /exploded/
Faça download dos plugins jars php-servlet.jar e JavaBridge.jar para a sua pasta Downloads do computador
Entre na sua pasta de libs do tomcat, no meu computador costuma estar em /opt/tomcat/lib/ , no seu servidor pode ser que esteja em outro local, descubra!
Jogue os plugins php-servlet.jar e JavaBridge.jar dentro da pasta /opt/tomcat/lib/
De permissoes para esses plugins
Dê um stop e depois um start no seu servidor tomcat
Faça deploy do arquivo JavaBridgeTemplate721.war
Depois entre na pasta WEB-INF da sua web aplicação e crie o arquivo web.xml , se a sua aplicação se chamar HelloWorld provavelmente o caminho será esse /opt/tomcat8/webapps/HelloWorld/WEB-INF/web.xml, se o arquivo já estiver criado, coloque o texto abaixo dentro dele, se não estiver criado, crie com esse texto abaixo
Dentro da pasta do sua pasta HelloWorld crie o arquivo teste.php e coloque o codigo abaixo:
Depois de tudo acesse http://seuIP:8080/HelloWorld/teste.php para ver se está funcionando , se estiver ele dará várias informações sobre o seu PHP.
No seu Linux Ubunto instale antes o pacote php-cgi
Code: Select all
apt install php-cgi
Nesse site você baixará dois "plugins" .jar , não podemos garantir se eles contem ou não código malicioso como um cavalo de troia ou vírus, é por conta e risco apenas seu baixá-los.
Nesse site acima entre no link/pasta "Binary package" ou https://sourceforge.net/projects/php-ja ... 20package/
Entre no link "php-java-bridge_7.2.1" ou https://sourceforge.net/projects/php-ja ... dge_7.2.1/
Baixe e guarde em downloads do seu computador o deploy JavaBridgeTemplate721.war
Depois no mesmo site entre no link ou pasta "exploded" ou https://sourceforge.net/projects/php-ja ... /exploded/
Faça download dos plugins jars php-servlet.jar e JavaBridge.jar para a sua pasta Downloads do computador
Entre na sua pasta de libs do tomcat, no meu computador costuma estar em /opt/tomcat/lib/ , no seu servidor pode ser que esteja em outro local, descubra!
Jogue os plugins php-servlet.jar e JavaBridge.jar dentro da pasta /opt/tomcat/lib/
De permissoes para esses plugins
Code: Select all
chmod 670 JavaBridge.jar
chmod 670 php-servlet.jar
Faça deploy do arquivo JavaBridgeTemplate721.war
Depois entre na pasta WEB-INF da sua web aplicação e crie o arquivo web.xml , se a sua aplicação se chamar HelloWorld provavelmente o caminho será esse /opt/tomcat8/webapps/HelloWorld/WEB-INF/web.xml, se o arquivo já estiver criado, coloque o texto abaixo dentro dele, se não estiver criado, crie com esse texto abaixo
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<!-- the following 8 lines extend the servlet spec 2.2 "url-pattern" to handle PHP PATH_INFO: *.php/something?what=that. Remove them, if you don't need this feature. -->
<filter>
<filter-name>PhpCGIFilter</filter-name>
<filter-class>php.java.servlet.PhpCGIFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PhpCGIFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- the following adds the JSR223 listener. Remove it if you don't want to use the JSR223 API -->
<listener>
<listener-class>php.java.servlet.ContextLoaderListener</listener-class>
</listener>
<!-- the back end for external (console, Apache/IIS-) PHP scripts; remove it if you don't need this -->
<servlet>
<servlet-name>PhpJavaServlet</servlet-name>
<servlet-class>php.java.servlet.PhpJavaServlet</servlet-class>
</servlet>
<!-- runs PHP scripts in this web app; remove it if you don't need this -->
<servlet>
<servlet-name>PhpCGIServlet</servlet-name>
<servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>PhpJavaServlet</servlet-name>
<url-pattern>*.phpjavabridge</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PhpCGIServlet</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.php</welcome-file>
</welcome-file-list>
<display-name>PHP no JNS Tomcat</display-name>
<description>
Um misto de PHP e Java
</description>
</web-app>
Dentro da pasta do sua pasta HelloWorld crie o arquivo teste.php e coloque o codigo abaixo:
Code: Select all
<?php
phpinfo();
?>