Maison >développement back-end >Problème PHP >Que dois-je faire si Tomcat ne prend pas en charge PHP ?

Que dois-je faire si Tomcat ne prend pas en charge PHP ?

藏色散人
藏色散人original
2020-08-19 10:26:372597parcourir

Solution au problème selon lequel Tomcat ne prend pas en charge php : copiez d'abord les fichiers concernés sous "PHP/Java Bridge" dans le répertoire lib de Tomcat ; puis modifiez "web.xml" dans le dossier conf du répertoire d'installation de Tomcat ; fichier ; redémarrez enfin Tomcat.

Que dois-je faire si Tomcat ne prend pas en charge PHP ?

Recommandé : "Tutoriel vidéo PHP"

Les développeurs Java savent tous que Tomcat It est utilisé pour déployer des projets Web Java. Pendant cette période, il y avait un projet qui nécessitait 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. Essayons-le aussi. OuiVoici les étapes détaillées.

1. Préparation de l'environnement

Environnement PHP installé, machine virtuelle Java installée, Tomcat

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

2. Configurez Tomcat

Copiez JavaBridge.jar, php-servlet.jar et php-script.jar de PHP/Java Bridge dans la bibliothèque Tomcat.

Modifiez le fichier web.xml dans le dossier conf sous le répertoire d'installation de Tomcat et ajoutez le code suivant à la balise web-app

<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, vous pouvez 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 explique cgiPathPrefix comme suit :

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

Accédez directement au fichier index.php dans le répertoire webapps<.>

025c980fb1ecd83351f4e1e10db86ff1

Apparaît lors de l'accès


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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn