Maison  >  Article  >  développement back-end  >  Comment faire en sorte que Tomcat prenne en charge PHP en cours d'exécution

Comment faire en sorte que Tomcat prenne en charge PHP en cours d'exécution

慕斯
慕斯avant
2021-06-25 10:32:233348parcourir

Les développeurs Java savent tous que Tomcat est utilisé pour déployer des projets Web Java. Il est nécessaire d'utiliser le même nom de domaine et le même port que le projet PHP. Comment y parvenir sans utiliser nginx ? J'ai appris que grâce à Java Bridge, Tomcat peut prendre en charge l'exécution de PHP. Voici les étapes détaillées.

1.Préparation de l'environnement

Installer l'environnement php , installez la machine virtuelle java, tomcat

La configuration minimale de ces outils est php 5.x, java 6 ou supérieur, tomcat 6 ou supérieur.

2. Configurez Tomcat

Placez le JavaBridge.jar de PHP/Java Bridge. , Copiez php-servlet.jar et php-script.jar dans le répertoire lib de Tomcat

Modifiez le fichier web.xml dans le dossier conf du répertoire d'installation de Tomcat et ajoutez le code suivant au site Web. -app tag ;

<listener>
 <listener-class>php.java.servlet.ContextLoaderListener</listener-class>
 </listener>
 <servlet>
 <servlet-name>PhpJavaServlet</servlet-name>
 <servlet-class>php.java.servlet.PhpJavaServlet</servlet-class>
 </servlet>
 <servlet>
 <servlet-name>PhpCGIServlet</servlet-name>
 <servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class>
 <init-param>
 <param-name>prefer_system_php_exec</param-name>
 <param-value>On</param-value>
 </init-param>
 <init-param>
 <param-name>php_include_java</param-name>
 <param-value>Off</param-value>
 </init-param>
 </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>

Après avoir terminé les étapes ci-dessus, redémarrez Tomcat et vous pourrez exécuter le script php sous n'importe quel projet, mais il ne peut pas être exécuté directement sous webapps/, car le site officiel de Tomcat l'explique cgiPathPrefix comme suit :

Le chemin de recherche CGI commencera au répertoire racine de l'application Web + File.separator + ce préfixe

Directement dans le répertoire webapps Lors de l'accès au fichier index.php

<?php phpinfo();?>

apparaît lors de l'accès à


Partage de vidéos d'apprentissage associées :

tutoriel vidéo php


                                                               

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer